jQuery滚动函数附加以前的值?

时间:2015-06-03 03:58:25

标签: javascript jquery

jsfiddle

首次单击值1 to 10将推送到数组,然后滚动容器一次提醒值。在第二次单击值1 to 10 and 1 to 10被推送到数组然后滚动容器警报值为两次。在thrid上单击1 to 10 , 1 to 10 and 1 to 10将推送到阵列,但在滚动时它会提醒三次。我需要将最后一个值传递给滚动函数,然后只提醒一次。我该怎么做?

2 个答案:

答案 0 :(得分:0)

Try this

使用unbind解决您的问题。来自this question。每次滚动都会启动警报。所以使用unbind或考虑时间并设置标志。

答案 1 :(得分:0)

问题是你每次都要注册一个新的滚动事件处理程序;也就是说,您只需将其注册一次,并让它从事件处理程序中访问array变量,如下所示:



var array = [];

$('h4').click(function(){
  for(var i=0; i<10; i++) {
    array.push(i+" ");
  }
});

$("#container").scroll(function () {
  if (array.length) {
    alert(array);
  }
});
&#13;
#container {
  width:100%; 
  height:200px; 
  overflow:scroll;
}
#ele {
  width:2000px; 
  height:200px;  
  background:#2a2a2a;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <div id="ele"></div>
</div>
<h4> click </h4>
&#13;
&#13;
&#13;