2017-04-05 50 views
1

當我使用Ajax從另一個頁面的內容中加載內容時,我的頁腳跳回到我的標題下方,然後再向下移動。Ajax負載導致內容跳轉

我認爲這是由$('#container').remove();造成的,這意味着我基本上是在裝入新容器之前移除容器。

有沒有辦法阻止我的頁腳在Ajax負載之間跳來跳去?

這裏是我的JQuery

$('nav a').on('click', function(e) { 
    e.preventDefault(); 
    var url = this.href; 
    $('nav a.highlight').removeClass('highlight'); 
    $(this).addClass('highlight'); 
    $('#container').remove(); 
    $('#content').load(url + ' #container').hide().fadeIn(3500); 
}); 

心中已經上傳正在發生的事情給了我一個測試服務器here上的一個例子。
我不得不上傳它作爲一個片段或筆不允許超過一個HTML頁面

+1

你不能只使用'$( '#集裝箱')。負載(...)'來代替直接在容器的內容? – user3154108

回答

1

不要取下#container

$('nav a').on('click', function(e) { 
    e.preventDefault(); 
    var url = this.href; 

    $('nav a.highlight').removeClass('highlight'); 
    $(this).addClass('highlight'); 

    //$('#container').remove(); 
    $('#content').load(url + ' #container').hide().fadeIn(3500); 
}); 
+0

經過測試和工作。謝謝 – Mark

+0

我很高興它幫助....快樂編碼:) –

0

我不完美,但我認爲這可以幫助你得到一個想法。您可以設置#內容的最小高度也可以添加一個.stick_footer頁腳容器取出後立即刪除加載後的數據.stick_footer。 對不起英文不好。

.stick_footer{ 
    position:absolute; bottom:0;left:0;right:0; top:9em; 
}