js实现简单选项卡与自动切换效果的方法


Posted in Javascript onApril 10, 2015

本文实例讲述了js实现简单选项卡与自动切换效果的方法。分享给大家供大家参考。具体分析如下:

这里再上篇《js实现简单的可切换选项卡效果》基础上,进一步实现可以自动切换的切换效果,用这种效果就可以做简单的焦点图了。

说明:

设置一个标识数字置为0,写一个每过几秒标识+1,执行切换效果的函数,然后执行。
当标识超过当前选项卡长度让标识置为0。
在鼠标移到选项卡的时候关闭定时器,鼠标移走的时候打开定时器。

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>无标题文档</title>
<style>
body,ul,li{
margin:0;
padding:0;
font:12px/1.5 arial;
}
ul,li{
list-style:none;
}
.wrap{
width:500px;
margin:20px auto;
}
.hide{
display:none;
}
#tab_t{
height:25px;
border-bottom:1px solid #ccc;
}
#tab_t li{
float:left;
width:80px;
height:24px;
line-height:24px;
margin:0 4px;
text-align:center;
border:1px solid #ccc;
border-bottom:none;
background:#f5f5f5;
cursor:pointer
}
#tab_t .act{
position:relative;
height:25px;
margin-bottom:-1px;
background:#fff;
}
#tab_c{
border:1px solid #ccc;
border-top:none;
padding:20px;
}
</style>
<script>
window.onload = function(){
 tab("tab_t","li","tab_c","div","onmouseover")
 function tab(tab_t,tab_t_tag,tab_c,tag_c_tag,evt){
  var tab_t = document.getElementById(tab_t);
  var tab_t_li = tab_t.getElementsByTagName(tab_t_tag);
  var tab_c = document.getElementById(tab_c);
  var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
  var len = tab_t_li.length;
  var i=0;
  var timer = null;
  var num=0;
   for(i=0; i<len; i++){
    tab_t_li[i].index = i;
    tab_t_li[i][evt] = function(){
     clearInterval(timer);
     num = this.index;
     tab_change()
    }
    tab_t_li[i].onmouseout = function(){
     autoplay();
    }
   }
  function tab_change(){
   for(i=0; i<len; i++){
    tab_t_li[i].className = '';
    tab_c_li[i].className = 'hide';
   }
   tab_t_li[num].className = 'act';
   tab_c_li[num].className = '';
  }
  function autoplay(){
   timer = setInterval(function(){
    num++;
    if(num>=len) num=0;
    tab_change();
   },1000);
  }
  autoplay();
 }
}
</script>
</head>
<body>
<div class="wrap">
 <ul id="tab_t">
 <li class="act">选择1</li>
 <li>选择2</li>
 <li>选择3</li>
 <li>选择4</li>
 </ul>
 <div id="tab_c">
 <div>内容1</div>
 <div class="hide">内容2</div>
 <div class="hide">内容3</div>
 <div class="hide">内容4</div>
 </div>
</div> 
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
使用jQuery UI库开发Web界面的简单入门指引
Apr 22 Javascript
vue.js学习之UI组件开发教程
Jul 03 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
Sep 11 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
小程序分页实践之编写可复用分页组件
Jul 18 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
js实现星星打分效果的方法
Jul 05 #Javascript
js实现简单的可切换选项卡效果
Apr 10 #Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 #Javascript
js实现简单鼠标跟随效果的方法
Apr 10 #Javascript
js实现交换运动效果的方法
Apr 10 #Javascript
js实现简单的左右两边固定广告效果实例
Apr 10 #Javascript
javascript实现简单的鼠标拖动效果实例
Apr 10 #Javascript
You might like
用PHP读取IMAP邮件
2006/10/09 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python 中的 else详解
2016/04/23 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python实现的快速排序算法详解
2017/08/01 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python实现批量文件重命名
2019/10/31 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
留学推荐信怎么写
2014/01/25 职场文书
会务接待方案
2014/02/27 职场文书
会议室标语
2014/06/21 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL
如何基于python实现单目三维重建详解
2022/06/25 Python