1

複数のページを持つ JQuerymobile サイトで作業しています。ページの 1 つが表示されている場合 (id="shown")、6 秒の遅延後に別のページ (id=#redirected") にリダイレクトする必要があります。

私のコードでは、コメント行がこれに対して機能しますが、問題は、ユーザーがその間に別の sup ページに変更した場合、#redirected ページにリダイレクトされることです。だから私が必要とするのは、ここで「他のページが表示されていない場合」のことです。

JQueryの「changePage」(遷移などを処理するのに適している)も試しましたが、ここで遅延を実装する方法がわかりません。

私のコードを見てください:

    $("#shown").bind("pageshow", function(e) {
    //window.setTimeout('window.location="#redirected"; ',6000);
    $.mobile.changePage("#fertig", { reverse: "false"});
4

1 に答える 1

1

私はあなたのために働くjsfiddleを作りました: http://jsfiddle.net/zUZMx/

ID が「one」、「two」、「three」の 3 つのページで jQuery モバイル マルチページ テンプレートを使用します。2 に移動すると、6 秒のタイムアウトが開始され、その後、アクティブなページが「2」であるかどうかがチェックされ、そうである場合は、モバイルの changePage を使用してユーザーを 3 にリダイレクトします (これにより、トランジションを最大限に活用できます)。

使用する Javascript:

$(document).delegate("#two", "pageshow", function(event) {
setTimeout(function() {
   if($.mobile.activePage.attr("id") == "two") {
        $.mobile.changePage("#three", {
            transition: "slide"
        });
    }
}, 6000);});​

あなたのケースを正しく理解していれば、「2」は「表示」に、「3」は「リダイレクト」に変更されます。

于 2012-07-01T04:56:02.317 に答える