0

window.location.hash 変更イベントでコンテンツを動的にロードする Web サイトがあり、修正できないように見える非常に厄介な問題があります。基本的に、body div 内に 2 つの div があります。1 つは ID が「loader-container」で、もう 1 つは $mainContent なので、

<body>
   <div id=loader-container></div>
   <div $mainContent></div>
</body>

$mainContent に新しいページをロードしているときに、回転するロード GIF を「loader-container」に表示する必要があります。問題は、コンテンツをロードするローダー コンテナを取得できないことですが、$mainContent のデータはロードされます。ここにjsがあります:

$(window).bind('hashchange', function(){
    alert("This is being called");
    $('#loader-container').load('loading.php'); //this works here

    newHash = window.location.hash.substring(1);

    if (newHash.substring(1,26) == "content/event.php?event_id"){

        $('#loader-container').load('loading.php'); //this doesnt work but the below code is being called inside the if statement

        $mainContent.slideUp("slow", function() {
            alert("This isnt being called!");
            alert("Below, loading.php isn't being loaded but newHash is");
            $('#loader-container').load('loading.php', function(){
                $mainContent.load(newHash, function() {         //this load's newHash successfully
                    $mainContent.show('slow', function() {
                        $pageWrap.animate({
                            height: baseHeight + $mainContent.height() + "px"
                        });
                        alert("this isn't being called");
                    });
                    alert("or this");
                });
                alert("or this");
            });
            $("#loader-container").hide();
        });
    }
});
4

0 に答える 0