我在屏幕上移动了一个绝对的div。当div退出屏幕时,我重置了值,这是代码:
setInterval( function() {
if( p2.offset().top <= 1 ) {
p2.css('bottom','50').css('left','400');
}
p2.css('bottom', '+=1').css('left', '+=1');
}, 10 );
当我在if条件中发出警报时,我看到此警报,但代码 p2.css('bottom','50').css('left','400')
似乎未执行... div继续移动到屏幕外而不重置在bottom: 50px
和left: 400px
。
我哪里错了?
答案 0 :(得分:5)
指定您的单位,它将起作用:
p2.css('bottom','50px').css('left','400px');
或者,将对象传递给css()
方法:
p2.css({bottom:50, left:400});
这假设您正在谈论像素。
答案 1 :(得分:1)
更改css时必须指定单位:
p2.css('bottom','50px').css('left','400px');
抱歉,我不知道,但您可以像使用+=1
一样。
另外,你不能在css的jQuery属性中使用像 +=
这样的运算符。
你宁愿这样做:
var newBottom = (parseInt(p2.css('bottom')) + 1) + "px";
var newLeft = (parseInt(p2.css('left')) + 1) + "px";
p2.css('bottom', ).css('left', '+=1');
击> <击> 撞击>
答案 2 :(得分:-2)
确实如此,它被覆盖......
setInterval( function() {
if( p2.offset().top <= 1 ) {
p2.css('bottom','50').css('left','400');
}else{
p2.css('bottom', '+=1').css('left', '+=1');
}
}, 10 );