我在一个函数中得到两个变量:$ x = -660px并且是固定的,$ y每次调用该函数时减少20px。第一次调用函数时$ y = 220px。
在函数中我得到了if else语句
if($y > $x){
//do something
}else{
//do nothing
}
我想要得到的是,只要它大于-660px就会减少$ y然后停止。
它工作正常,直到$ y = -20px。即。 if语句'做某事'直到$ y = -20px然后它停止但不执行'else'语句。
我无法找出它有什么问题。这是正确的还是我的问题可能来自其他地方?
答案 0 :(得分:2)
不应该是if($y < $x)
因为它们是负值吗?
这有效:
$(function(){
var x=0,y=-660;
var inter = setInterval(function(){
if(y < x)
subtract();
else
clearInterval(inter);
},200);
function subtract(){
x = x-20;
$('body').append('<br />x='+x+' y='+y);
}
});
使用px值:
$(function(){
var x="0px",y="-660px";
var inter = setInterval(function(){
if(parseInt(y) < parseInt(x))
subtract();
else
clearInterval(inter);
},200);
function subtract(){
x = (parseInt(x)-20)+"px";
$('body').append('<br />x='+x+' y='+y);
}
});