我正在構建使用Ajax加載所有內容頁面的Wordpress網站。這是jQuery localScroll插件的問題。該插件將向頁面上的所有錨鏈接添加動畫滾動。問題是,使用下面的腳本我只能在頁面上的一個鏈接被點擊後才能在該頁面上有動畫。如何在Ajax頁面加載後執行jQuery函數
我想我明白爲什麼會發生這種情況。我的猜測是,我點擊主菜單後腳本將執行,但由於Ajax內容尚未加載,事件不會附加到Ajax加載的內容鏈接。現在我卡住了,我不知道如何解決這個問題。你介意幫助我這個嗎?
預先感謝您。
$(function(){
$('a').live('click', function() {
$('#portfolioWrap').localScroll({// Only the links inside that jquery object will be affected
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
編輯
只是說明給別人後,我設法使這項工作。我在這裏嘗試了所有建議。我的猜測是由o.v提出的解決方案。和Ohgodwhy應該工作,但可能是由於網站的複雜性和可能的插件限制,我無法讓他們工作。例如.on
函數根本不起作用,儘管我使用的是jQuery 1.7.1。最後我實施了Just_Mad建議的ajaxComplete
,並且工作。感謝大家的幫助!
這是代碼:
$(function() {
$('#wrapperIn').ajaxComplete(function() {
$('#portfolioWrap').localScroll({
target: '#portfolioWrap', // The element that gets scrolled
axis:'y', // Horizontal scrolling
duration:1500
});
});
});
.live實際上並未將事件附加到元素。它實際上是監聽整個文檔的事件,然後看看你的'a'過濾器是否匹配。 – GoldenNewby 2012-03-15 07:20:47