每隔3秒自动刷新div,在初始加载时运行?

时间:2018-04-15 07:11:01

标签: javascript

我制作了以下脚本。其中检查div #vs的更新,并检查div的高度,如果超过85%,则为其添加一个类。这很好用,但它在初始加载后3秒开始工作。如何在页面的初始加载时进行此加载,之后每3秒加载一次?

jQuery(document).ready( function($) {

  var auto_refresh = setInterval(function() {
         $.ajax({
             success: function(data) {
                 var result = $('<div />').append(data).find('div#vs').html();
                     $('div#vs').html(result);

                     if (document.getElementById('vs').clientHeight > window.innerHeight * 0.85 )
                         $('div#vs').addClass('vscroll');

                     if (document.getElementById('vs').clientHeight < window.innerHeight * 0.85 )
                         $('div#vs').removeClass('vscroll');
                 }
         });


     }, 3000); // Refresh every 3000 milliseconds / 3 seconds
     })

1 个答案:

答案 0 :(得分:0)

只需单独定义该功能,调用一次,然后用它调用setInterval

jQuery(document).ready(function($) {
  function myFn() {
    $.ajax({
      success: function(data) {
        var result = $('<div />').append(data).find('div#vs').html();
        $('div#vs').html(result);
        if (document.getElementById('vs').clientHeight > window.innerHeight * 0.85)
          $('div#vs').addClass('vscroll');

        if (document.getElementById('vs').clientHeight < window.innerHeight * 0.85)
          $('div#vs').removeClass('vscroll');
      }
    });
  }
  myFn();
  var auto_refresh = setInterval(myFn, 3000); // Refresh every 3000 milliseconds / 3 seconds
})