2014-01-24 77 views
0

我想在加載帶有此代碼的html頁面時激活此動畫,並且當我點擊另一個Ajax頁面選項卡時我想禁用此選項,因爲此刻此動畫在每個ajax頁面上動畫div我只想在特定的頁面上加載它。禁用其他頁面上的動畫

這怎麼可能?

$(window).scroll(function() { 
if ($(this).scrollTop() < 200) { 
    $(".example").animate({ 
     top: "0px" 
    }, { 
     duration: 50, 
     easing: 'easeInOutCubic' 
    }); 
} else { 
    $(".example").animate({ 
     top: "-50px" 
    }, { 
     duration: 50, 
     easing: 'easeInOutCubic' 
    }); 
} 
}); 
+0

只需在您想要的頁面中添加腳本。 –

+0

nope html是通過ajax在一個html文件中加載的,所以這是不可能的:/ – user3191542

+0

在你的頁面中添加一個變量,通過AJAX'var enableAnimation = false'加載並檢查變量$(window).scroll '功能? –

回答

0

如果你正在使用的哈希您的Ajax頁面,您可以很容易地檢查這,看看你在頁面上執行的動畫像在此之前:

$(window).scroll(function() { 
var hash = window.location.hash; 
if(hash == "foobar"){ 
    if ($(this).scrollTop() < 200) { 
     $(".example").animate({ 
      top: "0px" 
     }, { 
      duration: 50, 
      easing: 'easeInOutCubic' 
     }); 
    } else { 
     $(".example").animate({ 
      top: "-50px" 
     }, { 
      duration: 50, 
      easing: 'easeInOutCubic' 
     }); 
    } 
} 
}); 

注意,你將不得不作出確保一旦你改變一個頁面。您也可以更改散列:

window.location.hash = "foobar"; 
+0

令人驚歎!非常感謝!!! :) – user3191542

+0

如何爲動畫定義更多的散列?如果(hash ==「foobar」,「example2」)這不起作用:/ – user3191542

+0

你可以用一個簡單的or語句來做到這一點:'if(hash ==「foobar」|| hash ==「example2」)' –