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 相关文章推荐
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
查找Oracle高消耗语句的方法
Mar 22 Javascript
JavaScript中的ajax功能的概念和示例详解
Oct 17 Javascript
js实现文字向上轮播功能
Jan 13 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
react-native android状态栏的实现
Jun 15 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
layui 上传文件_批量导入数据UI的方法
Sep 23 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
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 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
JS模拟自动点击的简单实例
2013/08/08 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
vue+animation实现翻页动画
2020/06/29 Javascript
django接入新浪微博OAuth的方法
2015/06/29 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
护士演讲稿范文
2014/01/05 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
项目申请汇报材料
2014/08/16 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
营业员岗位职责范本
2015/04/14 职场文书
教师节主持词开场白
2015/05/29 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书