js仿京东轮播效果 选项卡套选项卡使用


Posted in Javascript onJanuary 12, 2017

本文实例为大家分享了js仿京东轮播效果的具体代码,实现选项卡套用选项卡,供大家参考,具体内容如下

效果图:

js仿京东轮播效果 选项卡套选项卡使用

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{margin:0;padding:0;}
ul{list-style:none;}img{border:0;}
#tab{width:1000px;height:500px;margin:50px auto;}
#tab .title {width:200px;height:500px;display:inline-block;}
#tab .title li {width:200px;height:125px;float:left;line-height:125px;text-align:center;font-size:30px;background:#f1f1f1;border-bottom:1px dotted #000;}
#tab .title li.active {background:#fff;}
#tab .title li:hover{background:#fff;}
#tab .content {width:799px;height:500px;float:right;display:inline-block;position:relative;border:none;border:none;}
#tab .content img{position:absolute;top:0;left:0;width:799px;height:500px;}
#tab .content ul {position:absolute;width:799px;height:45px;bottom:0;left:0;filter(alpha:80);opacity:0.8;background:#000;}
#tab .content ul li {float:left;height:45px;line-height:45px;background:#d5d5d5;border-right:1px solid #fff;cursor:pointer;text-align:center;}
#tab .content ul li.active {background:red;}
#tab .content ul li:hover{background:red;}
</style>
<script>
window.onload = function () {
 var tab = document.getElementById('tab');
 var title = tab.getElementsByClassName('title')[0];
 var titleLi = title.getElementsByTagName('li');
 var main = tab.getElementsByClassName('main')[0];
 var img = main.getElementsByTagName('img')[0];
 var ul = main.getElementsByTagName('ul')[0];
 var subtitleLi = ul.getElementsByTagName('li');
 var arr = [
  {
   title : '最热团购',
   subtitle : ['最热团购1','最热团购2','最热团购3'],
   pic : [
    'img/tab/1-1.png',
    'img/tab/1-2.png',
    'img/tab/1-3.png'
   ]
  },
  {
   title : '商城特惠',
   subtitle : ['商城特惠1','商城特惠2','商城特惠3','商城特惠4'],
   pic : [
    'img/tab/2-1.png',
    'img/tab/2-2.png',
    'img/tab/2-3.png',
    'img/tab/2-4.png'
   ]
  },
  {
   title : '名品推荐',
   subtitle : ['名品推荐1','名品推荐2','名品推荐3','名品推荐4','名品推荐5'],
   pic : [
    'img/tab/3-1.png',
    'img/tab/3-2.png',
    'img/tab/3-3.png',
    'img/tab/3-4.png',
    'img/tab/3-5.png'
   ]
  },
  {
   title : '缤纷活动',
   subtitle : ['缤纷活动1','缤纷活动2','缤纷活动3','缤纷活动4'],
   pic : [
    'img/tab/4-1.png',
    'img/tab/4-2.png',
    'img/tab/4-3.png',
    'img/tab/4-3.png',
   ]
  }
 ];

 // 初始化
 for ( var i = 0; i < arr.length; i++ ) {
  // 大选项卡的标题
  var oLi = document.createElement('li');
  oLi.innerHTML = arr[i].title;
  oLi.index = i;
  oLi.onclick = function () {
   highlight(this);
   ul.innerHTML = '';
   changeTab(this.index);
  }
  title.appendChild(oLi);
 }
 changeTab(0);
 function changeTab(num) { 
  // 大选项卡的内容
  img.src = arr[num].pic[1];
  // 小标题
  for ( var j = 0; j < arr[num].subtitle.length; j++ ) {
   oLi = document.createElement('li');
   oLi.innerHTML = arr[num].subtitle[j];
   oLi.style.width = Math.floor(parseInt(800 / arr[num].subtitle.length) - 2) + 'px';
   oLi.index = j;
   oLi.onclick = function () {
    highlight(this);
    this.parentNode.previousElementSibling.src = arr[num].pic[this.index];
   }
   ul.appendChild(oLi);
  }
 }
 function highlight (ele) {
  var aLi = ele.parentNode.children;
  for ( var i = 0; i < aLi.length; i++ ){
     aLi[i].className = '';
  }
  ele.className = 'active';
 }
}
</script>
</head>
<body>
<div id="tab">
 <ul class="title">
 </ul>
 <div class="content">
  <div class="main">
   <img>
   <ul>
   </ul>
  </div>
 </div>
</div>
</body>
</html>

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

Javascript 相关文章推荐
Javascript模板技术
Apr 27 Javascript
js 数组操作代码集锦
Apr 28 Javascript
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
Aug 06 Javascript
webpack多页面开发实践
Dec 18 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
Aug 02 Javascript
浅谈webpack性能榨汁机(打包速度优化)
Jan 09 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 #Javascript
JS百度地图搜索悬浮窗功能
Jan 12 #Javascript
原生js实现焦点轮播图效果
Jan 12 #Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 #Javascript
vuejs父子组件通信的问题
Jan 11 #Javascript
bootstrap 表单验证使用方法
Jan 11 #Javascript
原生js实现无缝轮播图效果
Jan 11 #Javascript
You might like
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
Python实现高效求解素数代码实例
2015/06/30 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Python原始套接字编程实例解析
2020/01/29 Python
python安装后的目录在哪里
2020/06/21 Python
python3爬虫中异步协程的用法
2020/07/10 Python
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
Java如何格式化日期
2012/08/07 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
不同意离婚上诉状
2015/05/23 职场文书
看雷锋电影观后感
2015/06/10 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
推广普通话主题班会
2015/08/17 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android