カップルのサイクル後めちゃくちゃjQueryのタイマー
質問
私はjQueryのタイマーが起こっており、それが2サイクル後に台無しに思える: treethink.treethink.net/バックアップする
今、別のタイマーにはdiv要素が再びそれを飛び出し表示されるニュースティッカーや変更を撤回します。あなたは上記のリンクで見ることができるカップルのサイクルの後、いくつかは、長く滞在して、オーバーラップし、それが混乱になります。私はなぜこれが起こっているかわからない...
ここに私のコードは次のとおりです。
/* Retracting Ticker */
/* Initially hide all news items */
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
$("#ticker1").oneTime(1000,function(i) { /* Show 1 once on first pull out */
$('#ticker1').show();
});
$("#ticker1").everyTime(64500,function(i) { /* Hide 3 and show 1 everytime timer gets to certain point */
$('#ticker1').show();
});
$("#ticker1").oneTime(21500,function(i) { /* Hide 1 and show 2 once after first pull out */
$('#ticker1').hide();
$('#ticker2').show();
});
$("#ticker1").everyTime(86000,function(i) { /* Hide 1 and show 2 everytime timer gets to certain point */
$('#ticker1').hide();
$('#ticker2').show();
});
$("#ticker2").oneTime(43000,function(i) { /* Hide 2 and show 3 once after second pull out */
$('#ticker2').hide();
$('#ticker3').show();
});
$("#ticker2").everyTime(107500,function(i) { /* Hide 2 and show 3 everytime timer gets to certain point */
$('#ticker2').hide();
$('#ticker3').show();
});
$("#ticker3").oneTime(64000,function(i) { /* Hide 2 and show 3 once after second pull out */
$('#ticker3').hide();
});
$("#ticker3").everyTime(129000,function(i) { /* Hide 2 and show 3 everytime timer gets to certain point */
$('#ticker3').hide();
});
$("#ticker").oneTime(2000,function(i) { /* Do the first pull out once */
$("#ticker").animate({right: "0"}, {duration: 800 });
});
$("#ticker").oneTime(20000,function(i) { /* Do the first retract once */
$("#ticker").animate({right: "-450"}, {duration: 800});
});
$("#ticker").everyTime(21500,function(i) { /* Everytime timer gets to certain point */
$("#ticker").animate({right: "0"}, {duration: 800}); /* Pull out right away */
$("#ticker").oneTime(20000,function(i) { /* Retract once */
$("#ticker").animate({right: "-450"}, {duration: 800});
});
});
おかげで、
ウェイド
解決
彼らは混乱にあなたをつもりはないので、のは、すべてのoneTime
sを無視してみましょう。
$("#ticker1").everyTime(64500,function(i) {
$('#ticker1').show();
});
$("#ticker1").everyTime(86000,function(i) {
$('#ticker1').hide();
$('#ticker2').show();
});
$("#ticker2").everyTime(107500,function(i) {
$('#ticker2').hide();
$('#ticker3').show();
});
$("#ticker3").everyTime(129000,function(i) {
$('#ticker3').hide();
});
$("#ticker").everyTime(21500,function(i) {
$("#ticker").animate({right: "0"}, {duration: 800});
$("#ticker").oneTime(20000,function(i) {
$("#ticker").animate({right: "-450"}, {duration: 800});
});
});
あなたは4つのオブジェクトがあります。ティッカー、コンテナ、および3つのメッセージを
コンテナの動作は、これがある(およそ、および第1のプルアウトカウントされません):すべての21.5秒、1.5秒隠し、その後出て後ろにスライド。ファイン、これが問題の原因ではない、3つのメッセージタイマーが問題となっている。
これは、間隔でメッセージの動作は次のとおりです。
ticker show (s) hide (s)
1 64.5 86
2 86 107.5
3 107.5 129
編集私が最初ティッカー間隔時間のために間違った私の番号を持っていましたが、私はまだ考えは同じだと思います。結局、時間が重複しています。
所属していません StackOverflow