1

私はいくつかのjqueryコードを実行できる関数を作成しています...そして、たとえば5秒間一時停止してから、何か他のものを実行します..

このようなもの:

function myFunc() {
    var str1 = 'This is the starting text';
        var str2 = 'This is the ending text';
          $("#label").html(str1);

        //I need a pause here (5000 ms) ---

          $("#label").html(str2);

}

そこで一時停止するにはどうすればよいですか?

4

5 に答える 5

5

queueこれは、jQueryのメソッドを使用して順次実行できます

jQueryの方法:

$('#label')
    .queue(function (n) {
        ...your code here...
        n(); //dequeue the next item in the queue
    })
    .delay(5000)
    .queue(function (n) {
        ...your second bit of code here...
        n(); //dequeue the next item in the queue
    });

使い方も理解しておくといいのですがsetTimeout

の利点は、別のキュー名を指定することもできますが、queueデフォルトでキューとともに機能することです。fx

jQuery以外の方法:

function first() {
    ...your code here...
    setTimeout(second, 5000);
}
function second() {
    ...your second bit of code here...
}
first();
于 2012-09-11T14:00:47.017 に答える
4

タイムアウトを使用して一時停止を処理できます

function myFunc() {
    var str1 = 'This is the starting text';
        var str2 = 'This is the ending text';
          $("#label").html(str1);
          var plzwait=setTimeout(function(){  $("#label").html(str2);  }, 5000);
于 2012-09-11T13:59:38.213 に答える
2

何を達成したいかはわかりませんが、同期させて一時停止しようとしないでください。アプリケーションがフリーズします。代わりに、タイムアウトを使用することをお勧めします。タイムアウトは、指定された時間が経過した後に必要なコードを実行します。

function myFunc() {
    var str1 = 'This is the starting text';
        var str2 = 'This is the ending text';
          $("#label").html(str1);

          setTimeout(function() { 
             // Do what you want to do after a certain time in here 
             $("#label").html(str2); 
          }, 5000);

}
于 2012-09-11T13:59:39.027 に答える
1

jQueryには、ミリ秒を受け入れてエフェクトを処理するdelay( )があります。

これは、テキストが変更されて注意を引くときにフェードインする例です。

var str1 = "I am the first string";
var str2 = "This is the second string!";
var label = $("#label")
    label.html(str1).delay(5000).fadeOut("fast",function(){label.html(str2)}).fadeIn("slow");

jsFiddleの例

于 2012-09-11T13:59:50.293 に答える
1

使用するsetTimeout();

function myFunc() {
    var str1 = 'This is the starting text';
        var str2 = 'This is the ending text';
          $("#label").html(str1);

        //I need a pause here (5000 ms) ---
        setTimeout(function(){
         $("#label").html(str2);
        },5000);


}
于 2012-09-11T14:00:03.487 に答える