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中遍历对象的属性和值的方法
Jul 27 Javascript
Javascript使用uploadify来实现多文件上传
Nov 16 Javascript
原生JS查找元素的方法(推荐)
Nov 22 Javascript
bootstrap使用validate实现简单校验功能
Dec 02 Javascript
vue裁切预览组件功能的实现步骤
May 04 Javascript
vue.js 实现评价五角星组件的实例代码
Aug 13 Javascript
iphone刘海屏页面适配方法
May 07 Javascript
Vue使用watch监听一个对象中的属性的实现方法
May 10 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
May 27 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
vant 自定义 van-dropdown-item的用法
Aug 05 Javascript
vue页面引入three.js实现3d动画场景操作
Aug 10 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中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php微信公众号开发模式详解
2016/11/28 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
javascript 面向对象编程基础 多态
2009/08/21 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
js返回顶部实例分享
2016/12/21 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
python获取指定网页上所有超链接的方法
2015/04/04 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
经典促销广告词大全
2014/03/19 职场文书
社区活动总结报告
2014/05/05 职场文书
旅游活动总结
2014/08/27 职场文书
端午节活动总结报告
2015/02/11 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA