2017-03-01 237 views
1

我有一個文本框和一個按鈕。按下添加按鈕到div內的表格後。 當max-height:100px;超出overflow-y:auto;addbarcode();方法是一個ajax後,將調用一個jquery dataTable method來填充服務器端的數據,我希望該div滾動到頁面的底部。如何使Div滾動到底部

嘗試1

var element = document.getElementById("divcontent"); 

     element.scrollIntoView(false); 

嘗試2

var element = document.getElementById("divcontent"); 
       $('#divcontent').scrollTo(element.get(0).scrollHeight); 

嘗試3

var objDiv = document.getElementById("divcontent"); 
       objDiv.scrollTop = objDiv.scrollHeight; 

上述嘗試所有犯規WO RK。

編輯

<div class="row" id="divcontent" style="max-height:100px; overflow-y:auto"> 

<div class="col-md-12 col-sm-12"> 
    <table class="table table-striped table-responsive" id="codelist"> 
     <thead> 
      <tr> 
       <th> 
        SN 
       </th> 
       <th> 
        Serial Number 
       </th> 

      </tr> 
     </thead> 
    </table> 


</div> 

的Javascript

$(document).ready(function() { 
    $("#scanner").on('keyup paste', function (e) { 
     var code = (e.keyCode ? e.keyCode : e.which); 
     if (code == 13) { //Enter keycode 
      var artno = $(this).val(); 
      if (artno.length == 32 &&) { 
       addbarcode(); 
       $(this).val(""); 

      } else { 
       $(this).val(""); 
      } 
      var element = document.getElementById("divcontent"); 

      element.scrollIntoView(false); 
     } 


    }); 

}) 

最終工作代碼 添加動畫,以允許平滑滾動。還添加了定時器作爲ajax代碼運行速度比html渲染速度更快。因此,設置一點延遲可以讓javascript捕捉全部高度。

function divscrolldown() { 
    setTimeout(function() { 
     $('#divcontent').animate({ 
      scrollTop: $("#divcontent").offset().top 
     }, 500); 

    }, 200); 
+0

你有沒有嘗試什麼嗎?告訴我們你的代碼。 –

+0

請嘗試使用div和一些css –

+0

很抱歉回覆遲到。附上我的代碼 –

回答

2
element.scrollIntoView(false); 

如果false,元件的底部將被對準到滾動祖先的可見區域的底部。

MDN:Element.scrollIntoView()

+0

嗨,這不工作,或者我添加到錯誤的地方。 –

+0

我只注意到我將它添加到錯誤的按鈕事件中。滾動現在工作 –