2016-01-10 56 views
3

我創建的代碼來獲得與JS 數據,但我覺得問題JS發送數據進行兩次 這是我的JS代碼:JS發送數據兩次?

$(document).ready(function() { 
    function last_msg_funtion() { 
     var ID=$(".message_box:last").attr("id"); 
     $('#last_msg_loader').html('<img src="wait.gif">'); 
     $.post("index.php?action=get&last_msg_id="+ID, function(data) { 
      if (data != "") { 
       $(".message_box:last").after(data);   
      } 
      $('#last_msg_loader').empty(); 
     }); 
     return false; 
    }; 

    $(window).scroll(function() { 
     if ($(window).scrollTop() == $(document).height() - $(window).height()) { 
      last_msg_funtion(); 
     } 
    }); 
    return false; 
}); 

我怎麼能解決這個問題?

+2

滾動火災多次速度非常快,你需要「反跳」,它 – dandavis

+0

我如何能做到這一點@dandavis? –

+0

嘗試使用'.one()' – guest271314

回答

2

嘗試使用.one()

$(document).ready(function() { 
    function last_msg_funtion() { 
     if ($(window).scrollTop() == $(document).height() - $(window).height()) { 
      var ID=$(".message_box:last").attr("id"); 
      $('#last_msg_loader').html('<img src="wait.gif">'); 
      $.post("index.php?action=get&last_msg_id="+ID, function(data) { 
      if (data != "") { 
       $(".message_box:last").after(data);   
      } 
      $('#last_msg_loader').empty(); 
      $(window).one("scroll", last_msg_funtion0) 
      });    
     } 
     $(window).one("scroll", last_msg_funtion0) 
     return false; 
    }; 

    $(window).one("scroll", last_msg_funtion0); 
}); 
+0

此代碼沒有得到任何數據:p –

+0

@grandor查看更新後的帖子,在if條件之外添加'$(window).one(「scroll」,last_msg_funtion0)' – guest271314

+0

頁面快速滾動時出現問題 認爲解決方案是讓代碼等待幾秒鐘。 如果您知道如何編輯我的代碼 –