0

外部のhtmlファイルからdivにコンテンツをロードしています。これは非常に単純です(ただし、ここで解決されたコンテンツを表示するのに問題がありました:jquery mobile-コンテンツをdivにロードしています)が、コンテンツがロードされると(テキストのみ)、中央にこの小さな回転するロードアニメーションがあります消えない画面の。JQueryが何か他のものをロードしようとしているのか、それとも何をしようとしているのかわかりません。

<script>
        $(document).ready(function()
        {
            $('#welcome').click(function(){
                console.log('clicked');
                $('#mainContent').load('welcome.html');
            $('#mainContent').trigger("pagecreate").trigger("refresh");
            });
        });
</script>
4

2 に答える 2

1

あなたが.trigger('pagecreate'). いずれにせよ、次の関数を実行してスピナーを停止できます。

$.mobile.hidePageLoadingMsg();

.load()AJAX リクエストのコールバック関数内で実行するもの:

    $(document).ready(function()
    {
        $('#welcome').click(function(){
            $('#mainContent').load('welcome.html', function () {
                $(this).trigger("create");
                $.mobile.hidePageLoadingMsg();
            });
        });
    });

jQuery Mobile ドキュメントのこのページを読む必要があります: http://jquerymobile.com/demos/1.1.0/docs/api/events.html (大きな黄色のセクションに注意してください。これらは重要です)

あなたが使用しdocument.readyているのは jQuery Mobile ではうまく機能しませんpageinit。個々の疑似ページ要素に対してイベントを使用することをお勧めします。

実際にこれを機能さ$.mobile.changePage()せるには、疑似ページの初期化をすべて処理する組み込み関数を使用する必要があります。

    $(document).delegate('#welcome', 'click', function()
    {
        $.mobile.changePage('welcome.html');
    });

関数に渡すことができるいくつかのオプションもあります$.mobile.changePage()。ここにそれらのリストがあります: http://jquerymobile.com/demos/1.1.0/docs/api/methods.html

于 2012-06-19T22:39:42.920 に答える
0

おそらく、読み込み中のアニメーションを自動的に非表示にするイベントをトリガーする方法を探しているので、これは最もクリーンなソリューションではないかもしれません。

ただし、読み込み中のアニメーションのクラスまたは ID をトレースして、次のように非表示にすることもできます。

    $(document).ready(function() {
        $('#welcome').click(function(){
            console.log('clicked');
            $('#mainContent').load('welcome.html', function(){
                $('.loadinganimationclass').hide();
            });
            $('#mainContent').trigger("pagecreate").trigger("refresh");
        });
    });
于 2012-06-19T22:30:07.967 に答える