$(document).ready(function() {
var div1=$('#div1');
div1.mouseover(function(){
if(!div1.is(":animated")){//当前没有动画则添加动画
div1.animate({left:"0px"},"slow");
}
});
div1.mouseout(function(){
div1.animate({left:"-200px"},"slow");
});
});
写了一个jQuery的版本的,但是有bug,有些时候移入鼠标不会有效果,还望大神赐教。
var div1=$('#div1');
div1.mouseover(function(){
if(!div1.is(":animated")){//当前没有动画则添加动画
div1.animate({left:"0px"},"slow");
}
});
div1.mouseout(function(){
div1.animate({left:"-200px"},"slow");
});
});
写了一个jQuery的版本的,但是有bug,有些时候移入鼠标不会有效果,还望大神赐教。
2017-09-03
也不知道我的评论会不会被看到.这个老师的代码有个bug.
timer=setInterval(function()
{
if(oDiv.offsetLeft==0)
{
clearInterval(timer);
}
else{ oDiv.style.left=oDiv.offsetLeft+10+'px';}
},300)
如果对象的宽度不是200这种整数,就没有办法正好减到0.那就会一直无限增加下去.
所以这样
if(This.offsetLeft>=0){This.style.left='0';clearInterval(timer); };
timer=setInterval(function()
{
if(oDiv.offsetLeft==0)
{
clearInterval(timer);
}
else{ oDiv.style.left=oDiv.offsetLeft+10+'px';}
},300)
如果对象的宽度不是200这种整数,就没有办法正好减到0.那就会一直无限增加下去.
所以这样
if(This.offsetLeft>=0){This.style.left='0';clearInterval(timer); };
2017-09-01
说一点,offsetleft和left都是指距离左边的距离,但offsetleft是只读的,并且返回的是数字,如果要修改,就只能通过
style.left的方式.就酱
style.left的方式.就酱
2017-09-01
我遇到的坑:if(flag){clearInterval(obj.timer);if(fn){fn()}} 应该放在定时器内,json的for遍历后;切记不要把这个判断放在for循环内,老师的代码的问题是 定时器一直在开启,但因为speed最后为0,所以对效果不会有影响,但对链式运动有影响,只会执行一个运动。
2017-08-23
虽然我也感觉到了@Fstar的问题,但是我实践后,发现老师的代码没有问题,把flag定义在定时器内,没有达到想要的效果。没有经过实践就得出结论,这个世界不是你以为的就是你以为的,你成功地坑了一片人。。。
2017-08-23