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 相关文章推荐
jQueryUI如何自定义组件实现代码
Nov 14 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
Mar 06 Javascript
使用jQuery,Angular实现登录界面验证码详解
Apr 27 jQuery
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
Vue组件之极简的地址选择器的实现
May 31 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
vue3.0生命周期的示例代码
Sep 24 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
我的论坛源代码(八)
2006/10/09 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
node.js 抓取代理ip实例代码
2017/04/30 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
对Python发送带header的http请求方法详解
2019/01/02 Python
python之array赋值技巧分享
2019/11/28 Python
python实现逻辑回归的示例
2020/10/09 Python
Django多个app urls配置代码实例
2020/11/26 Python
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
抵押贷款承诺书
2014/05/30 职场文书
2014年司法所工作总结
2014/11/22 职场文书
人事任命通知书
2015/04/21 职场文书
2015年维修工作总结
2015/04/25 职场文书
狂人日记读书笔记
2015/06/30 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
MySQL 逻辑备份 into outfile
2022/05/15 MySQL
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android