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 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
JavaScript函数中的this四种绑定形式
Aug 15 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 Javascript
ligerUI---ListBox(列表框可移动的实例)
Nov 28 Javascript
javascript实现前端成语点击验证
Jun 24 Javascript
JS+CSS实现炫酷光感效果
Sep 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程序实现支持页面后退的两种方法
2008/06/30 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
php微信支付之APP支付方法
2015/03/04 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
浅析Python基础-流程控制
2016/03/18 Python
python实现12306火车票查询器
2017/04/20 Python
python操作列表的函数使用代码详解
2017/12/28 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
Java基础面试题
2014/07/19 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
创先争优标语
2014/06/27 职场文书
体育教师求职信
2014/06/30 职场文书
2014年安全生产责任书
2014/07/22 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python