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实现仿百度瀑布流的方法
Feb 05 Javascript
JavaScript随机生成信用卡卡号的方法
Apr 07 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
vue-axios使用详解
May 10 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
vue自定义表单生成器form-create使用详解
Jul 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
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
PHP chop()函数讲解
2019/02/11 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
一分钟理解js闭包
2016/05/04 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
高三生物教学反思
2014/01/25 职场文书
个人贷款承诺书
2014/03/28 职场文书
离婚起诉书范本
2015/05/18 职场文书
毕业班工作总结
2015/08/10 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB