js实现自动轮换选项卡


Posted in Javascript onJanuary 13, 2017

本文实例为大家分享了js自动轮换选项卡的具体代码,供大家参考,具体内容如下

效果图:

js实现自动轮换选项卡

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{padding:0;margin:0;}
ul{list-style:none;}
#content{width:300px;height:200px;margin:150px auto;border:10px solid #ccc;padding:10px;}
#top{width:300px;height:50px;background:#ccc;}
#top a{height:50px;line-height:50px;font-size:20px;text-decoration:none;color:#000;display:inline-block;padding:0 10px;}
#top a.active{background:yellow;}
#main{width:300px;height:150px;background:#f1f1f1;}
#main img{width:200px;height:150px;}
#main ul{width:100px;height:150px;display:inline-block;float:right;}
#main ul li{width:100px;height:50px;background:#f1f1f1;border-bottom:1px dotted #000;line-height:50px;text-align:center;}
#main ul li.active{background:blue;}
</style>
<script>
window.onload = function () {
 var content = document.getElementById('content');
 var top = document.getElementById('top');
 var aA = top.getElementsByTagName('a');
 var main = document.getElementById('main');
 var img = main.getElementsByTagName('img')[0];
 var aLi = main.getElementsByTagName('li');
 var arr = [
  { 
   title : '动漫',
   subtitle : ['波波鸟','白魔女','小龙女'],
   pics : ['img/1.png','img/2.png','img/3.png'],
  },
  { 
   title : '购物',
   subtitle : ['头盔','雪橇','内衣'],
   pics : ['img/4.png','img/5.png','img/6.png'],
  }
 ];
 var row = 0, col = 0;
 var timer = null;
 for ( var i = 0; i < arr.length; i++ ) {
  aA[i].innerHTML = arr[i].title;
  aA[i].index = i;
  aA[i].onmouseover = function () {
   tab(this.index);
  }
 }
 tab(0);
 content.onmouseover = function () {
  for ( var i = 0; i < aA.length; i++ ) {
   if (aA[i].className === 'active') {
    row = i;
    break;
   }
  }
  for ( var i = 0; i < aLi.length; i++ ) {
   if (aLi[i].className === 'active'){
    col = i;
    break;
   }
  }
  clearInterval(timer);
 }
 content.onmouseout = autoPlay;
 // 自动播放
 function autoPlay() {
  clearInterval(timer);
  timer = setInterval(function () {
   // 子标题++,逢子标题长度,
   // 并且主标题加1,
   // 当子标题和主标题当前inded=长度时,归0
   col++;
   if(col === aLi.length) row++;
   row %= aA.length;
   col %= aLi.length;
   for ( var i = 0; i < aLi.length; i ++ ) {
    aLi[i].className = '';
   }
   aLi[col].className = 'active';
   img.src = arr[row].pics[col];
   for ( var i = 0; i < aLi.length; i++ ) {
    aLi[i].innerHTML = arr[row].subtitle[i];
   }
   for ( var i = 0; i < aA.length; i ++ ) {
    aA[i].className = '';
   }
   aA[row].className = 'active';
  }, 2000);
 }
 autoPlay();
 function tab(index) {
  for ( var i = 0; i < aA.length; i++ ){
   aA[i].className = '';
  }
  aA[index].className = 'active';

  for ( var j = 0; j < arr[index].subtitle.length; j++ ) {
   aLi[j].innerHTML = arr[index].subtitle[j];
   aLi[j].index = j;
   aLi[j].onmouseover = function () {
    for ( var i = 0; i < aLi.length; i ++ ) {
     aLi[i].className = '';
    }
    this.className = 'active';
    img.src = arr[index].pics[this.index];
   }
  }
  img.src = arr[index].pics[0];
  for ( var i = 0; i < aLi.length; i++ ){
   aLi[i].className = '';
  }
  aLi[0].className = 'active';  
 }
}
</script>
</head>

<body>
<div id="content">
 <div id="top">
  <a href="javascript:;"></a>
  <a href="javascript:;"></a>
 </div>
 <div id="main">
  <img/>
  <ul>
   <li></li>
   <li></li>
   <li></li>
  </ul>
 </div>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
jquery delay()介绍及使用指南
Sep 02 Javascript
js实现获取焦点后光标在字符串后
Sep 17 Javascript
node.js中的fs.readlinkSync方法使用说明
Dec 17 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
Aug 31 Javascript
JavaScript实现鼠标点击导航栏变色特效
Feb 08 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
iview table高度动态设置方法
Mar 14 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 Javascript
vue打包之后生成一个配置文件修改接口的方法
Dec 09 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 #Javascript
详解angularJs中自定义directive的数据交互
Jan 13 #Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 #Javascript
很棒的一组js图片轮播特效
Jan 12 #Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 #Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 #Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
Jan 12 #Javascript
You might like
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP的PSR规范中文版
2013/09/28 PHP
PHP数组函数知识汇总
2016/05/12 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
python中正则表达式的使用详解
2014/10/17 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
环保倡议书500字
2014/05/15 职场文书
承诺书格式范文
2014/06/03 职场文书
民族学专业求职信
2014/07/28 职场文书
场地使用证明模板
2014/10/25 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
水电工程师岗位职责
2015/02/13 职场文书
茶花女读书笔记
2015/06/29 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL
关于Redis的主从复制及哨兵问题
2022/06/16 Redis