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之querySelector和querySelectorAll使用说明
Oct 09 Javascript
js实现快速分享功能(你的文章分享工具)
Jun 25 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
Bootstrap Modal遮罩弹出层(完整版)
Nov 21 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
Angularjs单选框相关的示例代码
Aug 17 Javascript
Vue.js实现的表格增加删除demo示例
May 22 Javascript
一文看懂如何简单实现节流函数和防抖函数
Sep 05 Javascript
Vue中错误图片的处理的实现代码
Nov 07 Javascript
微信小程序加载机制及运行机制图解
Nov 27 Javascript
vue+高德地图实现地图搜索及点击定位操作
Sep 09 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
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
基于jquery的模态div层弹出效果
2010/08/21 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
python3基于TCP实现CS架构文件传输
2018/07/28 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
python找出完数的方法
2018/11/12 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
python爬取youtube视频的示例代码
2021/03/03 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
一体化教学实施方案
2014/05/10 职场文书
银行求职自荐书
2014/06/25 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
Python自然语言处理之切分算法详解
2021/04/25 Python
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL