<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>

<body>
<style type="text/css">
body,
ul,
li,
div {
padding: 0;
margin: 0;
list-style: none;
}

.box {
width: 900px;
margin: 0 auto;
border: 1px solid #CCCCCC;
height: 308px;
overflow: hidden;
}

#ul1 {
width: 200px;
float: left;
background: #CCCCCC;
height: 308px;

}

#ul1 li {
height: 77px;
line-height: 76px;
text-align: center;
font-size: 15px;
border-bottom: 1px solid #9ACD32;
}

#ul1 li.on {
background: #fff;
color: #000000;
}

.box div {
width: 700px;
float: right;
position: relative;
height: 308px;
}

.box div img {
width: 100%;
height: 308px;
}

.box div ul {
width: 100%;
height: 30px;
position: absolute;
left: 0px;
bottom: 0px;


}

.box div li {
float: left;
margin-right: 1px;
cursor: pointer;
background: #9ACD32;
line-height: 30px;
font-size: 12px;
text-align: center;
height: 40px;
}

.box div li.on {
background: pink;
}
</style>
</body>
</head>

<body>
<div class="box" id="box">
<ul id='ul1'>
<li class="on">最新团购</li>
<li>商品特惠</li>
<li>名品推荐</li>
<li>缤纷活动</li>
</ul>
<div>
<img src="img/1.jpg">
<img src="img/2.jpg">
<img src="img/3.jpg">
<ul>
<li>商品1</li>
<li>商品2</li>
<li>商品3</li>
</ul>
</div>
<div>
<img src="img/4.jpg">
<img src="img/5.jpg">
<img src="img/6.jpg">
<img src="img/7.jpg">
<ul>
<li>商品1</li>
<li>商品2</li>
<li>商品3</li>
<li>商品4</li>
</ul>
</div>
<div>
<img src="img/8.jpg">
<img src="img/1.jpg">
<img src="img/2.jpg">
<img src="img/3.jpg">
<ul>
<li>商品1</li>
<li>商品2</li>
<li>商品3</li>
<li>商品4</li>
</ul>
</div>
<div>

<img src="img/4.jpg">
<img src="img/5.jpg">
<img src="img/8.jpg">


<ul>
<li>商品1</li>
<li>商品2</li>
<li>商品3</li>

</ul>
</div>
</div>
<script type="text/javascript">

var oBox = document.getElementById("box")
var oUl = document.getElementById("ul1")
var oLi = oUl.getElementsByTagName("li")
var oDiv = oBox.getElementsByTagName("div")
for (var i=0;i<oLi.length;i++) {
oLi[i].index = i
oLi[i].onclick = function(){
for (var i=0;i<oLi.length;i++) {
oLi[i].className = ""
oDiv[i].style.display = "none"
}
this.className = "on"
oDiv[this.index].style.display = "block"
}

}

for (var i=0;i<oDiv.length;i++) {
tab(i,"onmouseover")
}


function tab(a,ev){
var aLi = oDiv[a].getElementsByTagName("li")
var oImg = oDiv[a].getElementsByTagName("img")
aLi[0].className = "on"
for (var i=0;i<aLi.length;i++) {

aLi[i].index = i
aLi[i].style.width = (700-aLi.length)/aLi.length+"px"

console.log(oImg)
aLi[i][ev] = function(){

for (var i=0;i<aLi.length;i++) {
oImg[i].style.display = "none"
aLi[i].className = ""
}

oImg[this.index].style.display = "block"
this.className = "on"
}

}
}





</script>
</body>

</html>

js-选项卡套选项卡的更多相关文章

  1. js进阶 11-22/23 js如何实现选项卡

    js进阶 11-22/23 js如何实现选项卡 一.总结 一句话总结:通过索引把选项卡头的li标签和选项卡内容的div标签联系在一起,通过控制div标签的display属性可以实现选项卡的选项切换. ...

  2. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  3. 纯CSS3完成选项卡,不要js完成的选项卡

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天就来敲一敲,选项卡,注意哦,不是一般利用js完成的选项卡,今天是纯用HTML和CSS来完成的,这怎么可能?那你不用js的点击事件,怎么处理? ...

  4. 原生js面向对象编程-选项卡(自动轮播)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. 常用js效果:选项卡切换

    js选项卡,很多网站都会用到,我这里用jquery给整了一个简单但是却很实用的js选项卡,废话不多说,直接上代码: <style> .txtadsblk01{ width:200px;} ...

  6. js原生实现选项卡功能

    选项卡在js中是一个重要的知识点.他没有那么难,但在工作中却有重要的位置.几乎在每一个网站都能看到选项卡的实例.所以今天写一下选项卡的实现. 我们设想有三个按钮分别来控制三个盒子当我们点击当前的按钮的 ...

  7. JS初学之-选项卡(图片切换类)

    初学选项卡,主要问题卡在了索引值上面,花了较长的时间学习. 索引值其实很好理解,就是为每一个元素用JS的方法添加一个属性,即自定义属性. 在for循环里的函数里用i,会直接弹出这个数组的length, ...

  8. JS+CSS实现选项卡功能

    [小小一记] 首先我们写一个选项卡的结构出来,包括tab和content: 首先是tab: <ul class="ttitle-box-tabs" id="tabs ...

  9. js 实现tab选项卡

    最近一直在研究js  如果不及时复习的话前边学到的东西很快就会忘掉,所以把前段时间的一个简单的tab选项卡的思路写出来也算复习了一下吧, 第一步:先把布局写出来: <div id="d ...

  10. js控制的选项卡

    选项卡在各种网站网页上是随处可见的一种形式 今天就简单的讲解下 选项卡得制作方法 首先:思路: 我们做一个四个控制的选项卡  则应该有四个小的DIV 外边包裹着一个大的div 用四个input按钮来控 ...

随机推荐

  1. 全局组建封装(挂载到vue实例的原型中,通过this访问)

    主题:组建的封装  一:install注册的全局封装(v-grid九宫格组建)               1.九宫格的封装主要有三个api 点击功能 每行个数 是否隐藏边框              ...

  2. Luogu1070-道路游戏-动态规划

    Solution 用对角线的前缀和快速进行转移,复杂度$O(N^3)$, 洛谷神机太快了$N^3$都能过 然而正解是单调队列优化, 能优化到$O(N^2)$,然而我弱得什么都不会 Code #incl ...

  3. 码代码的小女孩(来自noip贴吧)

    天冷极了,下着雪,又快黑了.这是NOIP的前夜.在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码.她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书--那么大,一向是她妈妈垫 ...

  4. Eclipse快速生成覆盖方法、Getter、Setter的方法

    点击鼠标右键 --> Source --> 直接使用快捷键 Alt+Shift+s

  5. java14

    1.方法:定义一个小功能,储存某段代码,方便在需要时调出来反复使用 !!!!重复使用 格式: static void 名称(){ } 注意点: ①在static main方法中要调用其他方法,调用的其 ...

  6. Linux日志文件总管——logrotate

    日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日 ...

  7. 金币(NOIP2015)

    先给题目:金币 又是很水的题,很简单,直接上代码: #include<bits/stdc++.h> using namespace std; int main(){ int n; scan ...

  8. 浅谈System.gc()

      今天巩固给大家讲讲System.gc().Java的内存管理着实给各位编程者带来很大的方便,使我们不再需要为内存分配烦太多神.那么讲到垃圾回收机制,就不得不讲讲System.gc().   先简单 ...

  9. 2019.01.22 zoj3583 Simple Path(并查集+枚举)

    传送门 题意简述:给出一张图问不在从sss到ttt所有简单路径上的点数. 思路: 枚举删去每个点然后把整张图用并查集处理一下,同时不跟sss和ttt在同一个连通块的点就是满足要求的点(被删去的不算). ...

  10. 2018.11.07 NOIP模拟 数独(模拟)

    传送门 sbsbsb签到题. 读题时间比写题时间长系列. 写一个checkcheckcheck函数来检验当前时间段第(i,j)(i,j)(i,j)号格子能否放入kkk就行了. 代码