0

これを使用して、3 ページを読み込む前に読み込みイメージを表示しています。コードは機能しており、これらの 3 ページ以外の場所からこれらのページに移動する前に読み込みイメージを表示します。問題は、これらのページにアクセスして、3 つのページのリンクの 1 つをクリックしても何も起こらないことです。URL の末尾に # を追加するだけです。

        $.ajaxSetup({
            cache: false
                    });

                    //Loading Image.
                    var ajax_load = "<img src='http://d2o0t5hpnwv4c1.cloudfront.net/412_ajaxCalls/DEMO/img/load.gif' alt='loading...' style='top:48%; left:48%; position:relative;'/>";

                    //PHP file URL.
                    var loadUrl = "/cakephp/Posts/index";
                    var loadUrl2 = "/cakephp/Posts/fetchHome";
                    var loadUrl3 = "/cakephp/accounts/getFollowers";

                    //$.get()  
                    $("#dash").click(function(){  
                        $(".container-fluid2").html(ajax_load);  
                        $.get(  
                        loadUrl,  
                        {language: "php", version: 5},  
                        function(responseText){  
                            $(".container-fluid2").html(responseText);
                            history.replaceState(null, "Dashboard", "posts");
                        },  
                        "html"  
                    );  
                    });  
                    $("#home").click(function(){  
                        $(".container-fluid2").html(ajax_load);  
                        $.get(  
                        loadUrl2,
                        {language: "php", version: 5},  
                        function(responseText){  
                            $(".container-fluid2").html(responseText);
                            history.replaceState(null, "Timeline", "posts/fetchHome");
                        },  
                        "html"  
                    );  
                    });  
                    $("#followers").click(function(){  
                        $(".container-fluid2").html(ajax_load);  
                        $.get(  
                        loadUrl3,  
                        {language: "php", version: 5},  
                        function(responseText){  
                            $(".container-fluid2").html(responseText);  
                            history.replaceState(null, "View followers", "accounts/getFollowers");
                        },  
                        "html"  
                    );  
                    });  
4

2 に答える 2

1

私はあなたのコードをテストしましたが、追加した後はすべて機能しました。

$(document).ready(function(){
     //your code here
}

document.ready ハンドラーは、実行前にページが読み込まれるまで待機します。以前は、まだ存在しないオブジェクトにイベント ハンドラーを追加しようとしていた可能性があるため、これは重要です。

お役に立てれば。

私に戻ってこない場合は、もう一度見てみます。

于 2012-05-24T23:59:02.260 に答える
0

解決しました!これは、JavaScript 関数を何度も再ロードする方法です。

$(document).on("click", "#dash", function(){ 
                            $(".container-fluid2").html(ajax_load);  
                            $.get(  
                            loadUrl,  
                            {language: "php", version: 5},  
                            function(responseText){  
                                $(".container-fluid2").html(responseText);
                                $("#CancelReply").hide();
                                history.replaceState(null, "Dashboard", "/cakephp/posts");
                                $(document).attr('title','Dashboard');
                            },  
                            "html"  
                        ); 
                        });
于 2012-05-26T06:53:36.980 に答える