首次单击值1 to 10
将推送到数组,然后滚动容器一次提醒值。在第二次单击值1 to 10 and 1 to 10
被推送到数组然后滚动容器警报值为两次。在thrid上单击1 to 10 , 1 to 10 and 1 to 10
将推送到阵列,但在滚动时它会提醒三次。我需要将最后一个值传递给滚动函数,然后只提醒一次。我该怎么做?
答案 0 :(得分:0)
使用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;