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 相关文章推荐
javascript的console.log()用法小结
May 31 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
jquery.post用法关于type设置问题补充
Jan 03 Javascript
深入理解React中es6创建组件this的方法
Aug 29 Javascript
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
微信小程序自定义对话框弹出和隐藏动画
Jul 19 Javascript
jQuery实现消息弹出框效果
Dec 10 jQuery
解决vue的touchStart事件及click事件冲突问题
Jul 21 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
Sep 25 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
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异步调用socket实现代码
2012/01/12 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
浅析PHP开发规范
2018/02/05 PHP
ExtJs的Date格式字符代码
2010/12/30 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
python 重命名轴索引的方法
2018/11/10 Python
Python中super函数用法实例分析
2019/03/18 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
Python自动创建Excel并获取内容
2020/09/16 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
python爬取代理ip的示例
2020/12/18 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
介绍一下游标
2012/01/10 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
离婚协议书范本(2014版)
2014/09/28 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
SQL SERVER存储过程用法详解
2022/02/24 SQL Server