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 相关文章推荐
JQuery中$之选择器用法介绍
Apr 05 Javascript
js的toLowerCase方法用法实例
Jan 27 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
jQuery实现Select左右复制移动内容
Aug 05 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
axios拦截设置和错误处理方法
Mar 05 Javascript
vue项目中引入vue-datepicker插件的详解
May 14 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
写一个Vue loading 插件
Nov 09 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中OO之静态关键字以及类常量的详解
2013/06/07 PHP
php反射应用示例
2014/02/25 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
php5与php7的区别点总结
2019/10/11 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
jstree的简单实例
2016/12/01 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
Python数据集切分实例
2018/12/08 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python中如何使用insert函数
2020/01/09 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
求职信模板怎么做
2014/01/26 职场文书
服装促销活动方案
2014/02/23 职场文书
幼儿园辞职信
2015/05/13 职场文书
七年级生物教学反思
2016/02/20 职场文书