2015-10-07 47 views
0

我做了一個簡單的代碼,當我向下滾動我加載更多的數據,我追加新的div到父div..when我達到了我附加的div的數量我刪除以前除了應用程序保持滾動到最後一個元素,所以如果我到達元素20,我加載其他10個元素在底部,但我刪除了頂部的10個元素,所以用戶從元素跳轉20件30javascript scroll當刪除元素科爾多瓦

這裏是我的代碼:

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     var divvo=document.getElementById("content"); 
     var ultimo; 
     for(var i=0;i<=9;i++){ 

     if(i+window.count<=window.gvariabile.length){ 
     var div = document.createElement('div'); 
     div.setAttribute('class', 'ccc'); 
     var ccc=i+window.count; 
     div.setAttribute('id', 'd'+ccc); 
     //alert(i+window.count); 
     div.innerHTML="<img src='img/eng_ico.jpg' class='logo'> <h3>"+window.gvariabile[i+window.count]+"</h3><p>Dettagli</p><hr class='hor'>"; 
     div.addEventListener("click", redirect_click(i+window.count), false); 
     ultimo=ccc; 
     divvo.appendChild(div);  
      } 
     } 
     alert($(window).scrollTop()); 
     if(window.count>=20) 
     { 
     alert("cancella"); 
     var parente=document.getElementById("content"); 
     for(var k=0;k<=9;k++){ 
      var rem=(window.count-20); 
      var rem2=rem+k; 

      var divvv = document.getElementById("d"+rem2); 

      parente.removeChild(divvv); 
      } 

     } 
     // window.scroll(0,findPos(document.getElementById("d"+ultimo+""))); 
     window.count=window.count+10; 

    } 
}); 

,然後在那裏我追加HTML:

<div id="content"> 
<div class="background"></div> 
</div> 

回答

0

刪除元素之前保存滾動解決和刪除元素後,設置滾動:

var scrollino=$(window).scrollTop(); 

     if(window.count>=20) 
     { 

     var parente=document.getElementById("content"); 
     for(var k=0;k<=9;k++){ 
      var rem=(window.count-20); 
      var rem2=rem+k; 

      var divvv = document.getElementById("d"+rem2); 

      parente.removeChild(divvv); 
      } 
     window.scroll(0,scrollino); 
     } 

     window.count=window.count+10;