初めて質問しましたが、このサイトは私のために何百もの回答をしてくれました。
わかりました、jquery を使用して、それぞれのボタンから 2 つの div をアニメーション化しています。それらは機能しますが、私には理解できない不具合があります。css では両方の div の高さが 0 です。最初のボタンをクリックすると、最初の div が開きます。次に、2 番目のボタンをクリックすると、最初の div が閉じ、2 番目の div が開きます (必要に応じて)。しかし、2 番目のボタンをもう一度クリックして 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>