js-选项卡套选项卡
<!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-选项卡套选项卡的更多相关文章
- js进阶 11-22/23 js如何实现选项卡
js进阶 11-22/23 js如何实现选项卡 一.总结 一句话总结:通过索引把选项卡头的li标签和选项卡内容的div标签联系在一起,通过控制div标签的display属性可以实现选项卡的选项切换. ...
- 原生js实现tab选项卡里内嵌图片滚动特效代码
<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...
- 纯CSS3完成选项卡,不要js完成的选项卡
我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天就来敲一敲,选项卡,注意哦,不是一般利用js完成的选项卡,今天是纯用HTML和CSS来完成的,这怎么可能?那你不用js的点击事件,怎么处理? ...
- 原生js面向对象编程-选项卡(自动轮播)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 常用js效果:选项卡切换
js选项卡,很多网站都会用到,我这里用jquery给整了一个简单但是却很实用的js选项卡,废话不多说,直接上代码: <style> .txtadsblk01{ width:200px;} ...
- js原生实现选项卡功能
选项卡在js中是一个重要的知识点.他没有那么难,但在工作中却有重要的位置.几乎在每一个网站都能看到选项卡的实例.所以今天写一下选项卡的实现. 我们设想有三个按钮分别来控制三个盒子当我们点击当前的按钮的 ...
- JS初学之-选项卡(图片切换类)
初学选项卡,主要问题卡在了索引值上面,花了较长的时间学习. 索引值其实很好理解,就是为每一个元素用JS的方法添加一个属性,即自定义属性. 在for循环里的函数里用i,会直接弹出这个数组的length, ...
- JS+CSS实现选项卡功能
[小小一记] 首先我们写一个选项卡的结构出来,包括tab和content: 首先是tab: <ul class="ttitle-box-tabs" id="tabs ...
- js 实现tab选项卡
最近一直在研究js 如果不及时复习的话前边学到的东西很快就会忘掉,所以把前段时间的一个简单的tab选项卡的思路写出来也算复习了一下吧, 第一步:先把布局写出来: <div id="d ...
- js控制的选项卡
选项卡在各种网站网页上是随处可见的一种形式 今天就简单的讲解下 选项卡得制作方法 首先:思路: 我们做一个四个控制的选项卡 则应该有四个小的DIV 外边包裹着一个大的div 用四个input按钮来控 ...
随机推荐
- spring boot (三): 热部署
介绍了Spring boot实现热部署的两种方式,这两种方法分别是使用 Spring Loaded和使用spring-boot-devtools进行热部署. 热部署是什么 大家都知道在项目开发过程中, ...
- centos 6.5 上安装 nvm
NVM 重磅推出NVM curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash Clos ...
- javascript数组中数字和非数字下标的区别(转)
http://blog.csdn.net/qq_27461663/article/details/52014911 考完试后闲来无事,想起好多天没写js了,于是打算实践一下最近看到的一些好玩的点子.结 ...
- Windows 下 Phpstrom 配置git使用
首先先去下载 git 下载链接 https://git-scm.com/download/winphpstrom 配置git 链接 http://jingyan.baidu.com/artic ...
- Luogu 3690 LCT - 模板
推荐几篇比较好的博客: FlashHu 的 讲解比较好 : 传送门 Candy 的 代码~ : 传送门 以及神犇Angel_Kitty的 学习笔记: 传送门 Code V 模板 #include< ...
- qt 5.2.1类和模块的关系图
QT│ ├─ActiveQt│ │ ActiveQt│ │ ActiveQtDepends│ │ ActiveQtVersion│ │ QAxAggregated│ │ QAxB ...
- [Hbase]Hbase章3 Hbase单点故障
很长一段时间以来,一个region同一时间只能在一台RS(Region Server)中打开.如果一个region同时在多个RS上打开,就是multi-assign问题,会导致数据不一致甚至丢数据的情 ...
- note:debugging requires the debug connect session system privilege
note:debugging requires the debug connect session system privilege 解决方案: 原因是用户权限不够,使用以下命令授予权限: GRANT ...
- response输出随机图片、定时刷新网页
第一招:利用response向浏览器输出图片: //获取验证码 在<img />标签内的src属性设为请求路径/verifyCode?goodsId=xxx&token=xxxxx ...
- NOIP水题测试(2017082301)
你们从题目也能看出来今天的题是很水的. 前几期答案还没出,效率有点低,谅解,谅解. 今天的答案应该会出的很快. 下面给题目: 时间限制:3小时 题目一:旅行家的预算 题目二:进制转换 题目三:乘积最大 ...