0

複数の要素で delay() と hide() に問題があります。

私はこのようなものを持っているとしましょう:

<div id="one">
<p id="label1_one">text</p>
<p id="label2_one">text</p>
</div>

<div id="two">
<p id="label1_two">text</p>
<p id="label2_two">text</p>
</div>

<div id="three">
<p id="label1_three">text</p>
<p id="label2_three">text</p>
</div>

とスクリプト

function toogle(){
if (1){
$("#one").css("display", "inline-block");
$("#label1_two").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_two").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label1_three").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_three").css("display", "inline-block").delay(10000).fadeOut(1000);
}
if (2){
$("#two").css("display", "inline-block");
$("#label1_one").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_one").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label1_three").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_three").css("display", "inline-block").delay(10000).fadeOut(1000);
}
if (3){
$("#three").css("display", "inline-block");
$("#label1_one").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_one").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label1_two").css("display", "inline-block").delay(10000).fadeOut(1000);
$("#label2_two").css("display", "inline-block").delay(10000).fadeOut(1000);
}
}

一部の要素がページに表示されたままになるたびに。これには既知の問題がありますか。

または、誰かが私に他の解決策を教えてくれます。

Code is example from real situation. :)

前もってありがとう、ヴェドラン

4

2 に答える 2

1
if(1) 

常にifステートメントを訪問することを意味します

jQuery で idを参照している場合は、div次のように変更する必要があります。

$('#one').click(function(){
    //do something.
});
于 2013-07-11T22:08:33.233 に答える
0

.stop メソッド ( http://api.jquery.com/stop/ ) を使用してみることができます。既にアニメーション化されているオブジェクトをアニメーション化しようとしたときにエラーが発生した場合は、stop を呼び出して、開始前にすべてのアニメーションをクリアします。

$("#label1_one").css("display", "inline-block").stop(true, true).delay(10000).fadeOut(1000);
于 2013-07-11T22:08:22.577 に答える