要实现滚动到固定位置时,数字从1变为9;
html部分代码
<div>
<p id="tt">1</p>
</div>
js部分代码
//数字跳动
var i=1;
var tim;
var tur=true;//逻辑与否
function timFun(){
function xunHuan(){
if(i>8){
clearInterval(tim);
tim=null;
return;
};
i++;
$("#tt").html(i);
};
tim=setInterval(xunHuan,200);
};
$(window).scroll(function(){
var p=$(window).scrollTop();
var c=$(window).height();
var m=p+c;
var a=$("#tt").offset().top;
if(m>=a&&tur){
timFun();
tur=false;
};
})
为了让滚动只执行一次,设置了条件与否的判断,好处就是函数滚动多少次只执行一次,刚开始想通过吧定时函数定义成全局变量发现这种方法不能让函数只执行一次。执行函数写成闭包。