js如何实现点击div显示另一个div同时本div隐藏,有好几个div的,要怎么循环使用
2个回答
展开全部
<style>
#box div{width:200px; height:30px; margin:10px; background-color:#edd; display:none}
</style>
<div id="box">
<div>我是1,点我显示2,然后我隐藏</div>
<div>我是2,点我显示3,然后我隐藏</div>
<div>我是3,点我显示4,然后我隐藏</div>
<div>我是4,点我显示5,然后我隐藏</div>
<div>我是5,点我显示1,然后我隐藏</div>
</div>
<script>
window.onload=function(){
var divs=document.getElementById("box").getElementsByTagName("div");
divs[0].style.display="block";
for(var i=0;i<divs.length;i++){
divs[i].dataset["index"]=i;
divs[i].onclick=function(){
this.style.display="none";
var i=parseInt(this.dataset["index"]);
divs[(i+1)%divs.length].style.display="block";
}
}
}
</script>
展开全部
这个很简单啊,
$('div').click(function(){
if(!$(this).hasClass('on')){
$(this).addClass('on').siblings().removeClass('on');
$('.expert-on').eq($(this).index()).addClass('show').siblings().removeClass('show')
}
})
$('div').click(function(){
if(!$(this).hasClass('on')){
$(this).addClass('on').siblings().removeClass('on');
$('.expert-on').eq($(this).index()).addClass('show').siblings().removeClass('show')
}
})
追问
哥讲解一下这段代码的意思呗
有点看不懂
追答
这个是jq代码,首先你得引入jq,然后$('div')就像是document.getEmentById('id')获取节点的。click点击事件知道吧,下面的是判断如果this是指向当前,也就是说,点击谁就是指向谁。hasClass('on'))就是查询当前指向的div有没有on这个类。addClass('on')如果没有就给当前指向添加一个on,然后.siblings().removeClass('on');把它的兄弟节点的on都给移除。在css样式写一个.on{display: block;}这样就可以了,下面这一行不用写,这个是用来切换之后显示对于的内容的$('.expert-on').eq($(this).index()).addClass('show').siblings().removeClass('show')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询