2011-06-22 66 views
0

我不是很熟悉JQuery Address plugin,但我想出了這個代碼,它的工作很好,除了在這種情況下:當我點擊「導航a」,url被改變,內容也被改變,但是當我重新加載頁面時,插件不會默認觸發。如何在頁面加載時使用jQuery地址插件加載當前內容?

$("#player aside nav a").address(function(event, hash) { 
    var rel = $(this).attr('rel'); 
    $('.ajax_container').hide().removeClass('current'); 
    $('#player aside nav a').removeClass('active'); 
    $('#'+rel).show().addClass('current'); 
    $(this).addClass('active'); 
    return $(this).attr('href').replace(/^#/, ''); 
}); 

任何想法,如何在頁面加載時觸發此功能?

回答

1

我認爲你需要看看$.address.externalChange(fn)。當我點擊後面時,這個事件會觸發,我相信它會給你散列值。

+0

'$ .address.externalChange(function(event){$('a [href ='+ event.value +']')。trigger('click');});'這樣做就可以了,謝謝! – passatgt

1

您可以觸發該鏈接的點擊事件。把它放在一個「DOM已準備就緒」功能:

$(function() { 
    $("#player aside nav a").click(); 
}); 
+0

好主意,但可悲的是,這對我並不好。我在我的問題中發佈了更簡單的代碼,實際的選擇器是這樣的:$(「#player aside nav a,#player aside .lejatszolistaim a.simple_playlist_link,#artists a」),所以很難實現click()函數在頁面加載。 – passatgt

+1

我仍然認爲我的建議將起作用,如果您實際上只需模擬點擊頁面加載鏈接的行爲。 – fehays

相關問題