2009-10-25 45 views
0

我有以下代碼:的jQuery選擇

$(document).ready(function() { 

var hash = window.location.hash.substr(1); 
var href = $('#nav li a').each(function(){ 
    var href = $(this).attr('href'); 
    if(hash==href.substr(0,href.length-5)){ 
    var toLoad = hash+'.html #content'; 
    $('#content').load(toLoad) 
    }   
}); 

$('#nav li a').click(function(){ 

    var toLoad = $(this).attr('href')+' #content'; 
    $('#content').slideUp(2000,loadContent); 
    window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); 
    function loadContent() { 
    $('#content').load(toLoad,'',showNewContent()) 
    } 
    function showNewContent() { 
    $('#content').slideDown(2000,hideLoader()); 
    } 
    function hideLoader() { 
    $('#load').fadeOut('normal'); 
    } 
    return false; 

}); 

}); 

感謝NETTUTS真的寫得很好簡潔和強大的片編碼的(在我看來)

的具有1M問題與滑塊向上/向下它關閉很好,但由於每個內容部分的高度不同,所以它會打開到舊的高度並與新的高度對齊,我該如何解決這個問題?

還有什麼方法來添加瀏覽器後退/前進按鈕功能?我還沒有看過這個,但可能不得不回到這裏來問!

+0

這裏已經有關於保存js的歷史記錄的問題 – geowa4

+0

正如我所說的那樣,我想知道身份證將它扔到那裏的時候,當我問Q時,滑動到錯誤的高度是我的問題。 – casben79

回答

1

如果您在slideDown之前加載新內容,它應直接滑向當前內容而不是舊內容。爲了讓您的後退和前進按鈕有效,您需要一個歷史記錄插件。 jQuery BBQ可能是這方面最好的。

+0

它首先加載新內容,或者我非常誤會? – casben79