2013-02-22 72 views
0

我有這段代碼模擬標籤頁。它工作正常,但每次我加載一個頁面點擊「abas」div中的鏈接時,頁面會滾動回頂端。我的解決方案(醜陋)是在加載後調用函數以將頁面滾動到錨點「abas」。這裏發生了什麼?用jquery加載內容後避免滾動到頂部

下面是代碼:

<ul id="abas"> 
<li><a href="buscapage.php">Busca por práticas</a></li> 
<li><a href="catpage.php" class="off">Categorias</a></li> 
</ul> 

$('#abas a').click(function(event) {   
    var $loader = '<img src="img/interface/loader.gif" class="loader" alt="" />', 
    $pagina = $(this).attr('href'); 
    $('#get').html($loader).load($pagina, function(){ 
    $('html,body').animate({scrollTop: $('#abas').offset().top},'slow'); //solution =(
    }); 
    event.preventDefault(); //prevent does not avoid this to happen 
}); 

謝謝

回答

1

我相信所有你需要在點擊事件函數結束時做是返回false。非常類似於您訂閱超鏈接或按鈕上的點擊事件,並且想要處理事件中的所有執行,因此,在代碼完成後,不要讓瀏覽器接管並執行點擊。

+0

我試過「返回false」,但它沒有辦法。 =/ – Paulo 2013-02-22 13:21:42

+0

你的頁面有多高?當在#get控件上設置html時,是否縮小到零像素(在實際應用新的html之前),導致頁面變得太小而不再跨越多個頁面?如果是這種情況,請將該css值設置爲該控件的最小值,以保持合理的大小。 – DragonZero 2013-02-22 14:12:52

+0

感謝@Gerbenny的回覆。我會嘗試解決更新我的CSS問題作爲您的建議。 – Paulo 2013-02-25 18:02:39