簡體   English   中英

如何在jQuery中使用自動刷新自動滾動到底部

[英]How to auto scroll to bottom with auto refresh in jquery

我正在使用此jquery ajax從數據庫接收味精。 但是,當有人嘗試發送消息時,消息就到了,但無法自動滾動到底部。 任何想法?

  setTimeout(startRefresh,1000);
var myKeyVals = { some value };

        var saveData = $.ajax({
          type: 'POST',
          url: "https://example.php",
          data: myKeyVals,
          success: function(resultData) { 
            $("#chatwindow").html(resultData);
            //######################################
          }
      });
      saveData.error(function() { alert("Something went wrong"); });

您可以在ajax success內使用animatescrollTop嘗試一些操作,例如:

 $("html, body").animate({ scrollTop: $(document).height() - $(window).height() }, 'slow'); 
 div {height: 900px; border:2px solid #333; padding:10px;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="mydiv1">DATA FOR SAMPLE 1</div> <div id="mydiv2">SAMPLE DATA</div> <div id="mydiv2">SAMPLE DATA</div> 

並且要確保滾動之前確實存在新的DOM元素,您可以嘗試添加一些setTimeout幾毫秒,然后在其中添加此代碼。

檢查一下: https : //www.electrictoolbox.com/jquery-scroll-bottom/

以下Javascript將使用jQuery將頁面滾動到底部:

$('html, body').animate({scrollTop:$(document).height()}, 'slow');

顯然,您可以將動畫速度(在上例中為“慢”)更改為“快”或以毫秒為單位的數字持續時間,其中數字越大,動畫越慢。

要將滾動功能綁定到對頁面中現有元素的點擊上,請執行以下操作,其中#someID是元素的ID:

$(document).ready(function() {
    $('#someID').click(function(){
        $('html, body').animate({scrollTop:$(document).height()}, 'slow');
        return false;
    });
});

您可以嘗試此技巧。 看看這是否對您有幫助:

$("html, body").animate({ scrollTop: $(document).height() }, 20000);
setTimeout(function() {
   location.reload();
},20000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM