2016-01-10 58 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

页面快速滚动时出现问题 认为解决方案是让代码等待几秒钟。 如果您知道如何编辑我的代码 –