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();
});
}
});