gpt4 book ai didi

javascript - Jquery parent 不工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:14 26 4
gpt4 key购买 nike

我有一个关于 jquery parents 的问题。

我创建了这个 DEMO 来自 codepen.io

在此演示中,您可以看到有一个树链接 Show divShow div2Show div3。如果您单击 Show div,则 jquery 代码将打开 .popup.openingdiv,但其他链接在同一代码中不起作用。任何人都可以在这里帮助我吗?

$(document).ready(function() {
$('.click').click(function (e) {
e.preventDefault();
$('.popup').animate({'opacity':'.50'}, 300, 'linear');
$('.popup').css('display', 'block');
$(this).parent().next('.openingdiv').toggleClass('height');
$(this).toggleClass('zindex');

$('.closediv a').click(function(e){
e.preventDefault();
$('.popup').animate({'opacity':'.50'}, 500, 'linear');
$('.popup').css('display', 'none');
$(this).closest('.openingdiv').removeClass('height');
});
})
$('.click2').click(function (e) {
e.preventDefault();
$('.popup').animate({'opacity':'.50'}, 300, 'linear');
$('.popup').css('display', 'block');
$(this).parent().next('.openingdiv2').toggleClass('height');
$(this).toggleClass('zindex');

$('.closediv2 a').click(function(e){
e.preventDefault();
$('.popup').animate({'opacity':'.50'}, 500, 'linear');
$('.popup').css('display', 'none');
$(this).closest('.openingdiv2').removeClass('height');
});
})

});

HTML

<div class="container">
<div class="click"><a href="#">Show Div</a></div>
<div class="click2"><a href="#">Show Div2</a></div>
<div class="click3"><a href="#">Show Div3</a></div>
</div>
<div class="openingdiv">
<div class="closediv"><a href="#">close</a></div>
</div>
<div class="openingdiv2">
<div class="closediv2"><a href="#">close2</a></div>
</div>
<div class="openingdiv3">
<div class="closediv3"><a href="#">close3</a></div>
</div>

<div class="popup"></div>

最佳答案

请在此处检查这支笔。它使用 .on() 来绑定(bind)事件

http://codepen.io/anon/pen/NPdgmK (更新)

<html>
<div class="container">
<div class="click button" data-opener="1"><a href="#">Show Div</a></div>
<div class="click2 button" data-opener="2"><a href="#">Show Div2</a></div>
<div class="click3 button" data-opener="3"><a href="#">Show Div3</a></div>
</div>
<div class="openingdiv1 opener">
<div class="closediv closer"><a href="#">close</a></div>
</div>
<div class="openingdiv2 opener">
<div class="closediv closer"><a href="#">close2</a></div>
</div>
<div class="openingdiv3 opener">
<div class="closediv closer"><a href="#">close3</a></div>
</div>

<div class="popup"></div>

</html>

<style>


.container{
width:540px;
height:auto;
margin:0px auto;
margin-top:50px;
}
.click{
float:left;
width:64px;
height:64px;
border:1px solid #d8dbdf;
font-size:13px;
font-weight:bold;
font-family:arial,sans-serif;
text-align:center;
line-height:64px;
}
.click2{
float:left;
width:69px;
height:64px;
border:1px solid #d8dbdf;
font-size:13px;
font-weight:bold;
font-family:arial,sans-serif;
text-align:center;
line-height:64px;
margin-left:10px;
margin-right:10px;
}
.click3{
float:left;
width:69px;
height:64px;
border:1px solid #d8dbdf;
font-size:13px;
font-weight:bold;
font-family:arial,sans-serif;
text-align:center;
line-height:64px;

}
.popup {
position:fixed;
top:0px;
left:0px;
width:100%;
height:100%;
background:#000;
opacity: .0;
filter:alpha(opacity=0);
z-index:300;
display:none;
}
.opener {
float:left;
width:540px;
height:0;
border:1px solid #d8dbdf;
z-index:999;
position: relative;
overflow: hidden;
-webkit-transition: height 1s ease;
-moz-transition: height 1s ease;
-o-transition: height 1s ease;
transition: height 1s ease;
background-color: #ffffff;
}
.opener.height {
height: 200px;
}

.zindex {
z-index:9999;
position:relative;
}
.closer {
padding:15px;
float:right;
margin:0px;
position:absolute;
bottom:0px;
right:0px;
}
.closer a {
text-decoration:none;
color:#000;
font-weight:bold;
font-size:13px;
font-family:arial,sans-serif;
}
</style>

<script>
$(document)
.on('click','.button',function (event) {
event.preventDefault();
var opener = $(this).data('opener');
$('.popup').animate({'opacity':'.50'}, 300, 'linear');
$('.popup').css('display', 'block');
$('.openingdiv'+opener).addClass('height');
//$(this).toggleClass('zindex');
})

.on('click','.closediv a',function (event) {
event.preventDefault();
$('.popup').animate({'opacity':'.50'}, 500, 'linear');
$('.popup').css('display', 'none');
$(this).closest('.opener:visible').removeClass('height');
})

; // $(document)
</script>

关于javascript - Jquery parent 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com