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 相关文章推荐
用js+xml自动生成表格的东西
Dec 21 Javascript
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
jQuery基于当前元素进行下一步的遍历
May 20 Javascript
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
JavaScript类的写法
Sep 17 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
微信小程序缓存支持二次开发封装实现解析
Dec 16 Javascript
原生JavaScript实现进度条
Feb 19 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
使用PHPMailer发送邮件实例
2017/02/15 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
Javascript - HTML的request类
2007/01/09 Javascript
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
checkbox 多选框 联动实现代码
2008/10/22 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
python 内置模块详解
2019/01/01 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
python nmap实现端口扫描器教程
2020/05/28 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
益模软件Java笔试题
2012/03/27 面试题
Java程序员面试90题
2013/10/19 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
银行职业规划书范文
2013/12/28 职场文书
学校文明单位申报材料
2014/05/06 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS