第一次问问题,但这个网站已经为我回答了数百个问题。
好的,我正在使用 jquery 为每个按钮设置 2 个 div 的动画。他们工作,但有一个我无法弄清楚的小故障。两个 div 在 css 中的高度均为 0。如果我单击第一个按钮,则会打开第一个 div。然后单击第二个按钮,第一个 div 关闭,第二个打开(根据需要)。但是,如果我再次单击第二个按钮并关闭 div,然后再次单击第一个按钮,则在再次单击之前没有任何反应。我希望咕哝是有道理的。解决此故障的任何帮助都会很棒,谢谢
这是它的一个jfiddle。http://jsfiddle.net/Jptalon/AMu2Z/1/
<button id="btnOne">One</button>
<button id="btnTwo">Two</button>
<div id="one">
<p>one text</p>
</div>
<div id="two">
<p>two text</p>
</div>
<script>
var stateone = true;
var statetwo = true;
$(function() {
$("#btnOne").click(function(){
var x = document.getElementById('two');
if ( x.style.height != 0){ $("#two").animate({height:"0px" }, "slow"); statetwo = !statetwo;}
if ( stateone ) {
$("#one").animate({height:"100px" }, "slow");
} else {
$("#one").animate({height:"0px" }, "slow");
}
stateone = !stateone;
});
});
$(function() {
$("#btnTwo").click(function(){
var y = document.getElementById('one');
if ( y.style.height != 0){ $("#one").animate({height:"0px" }, "slow"); stateone = !stateone;}
if ( statetwo ) {
$("#two").animate({height:"100px" }, "slow");
} else {
$("#two").animate({height:"0px" }, "slow");
}
statetwo = !statetwo;
});
});
</script>