b.addEventListener('touchend', function (event) {
event.preventDefault();
end_x_position = (event.changedTouches[0].pageX + 'px');
end_y_position = event.changedTouches[0].pageY + 'px';
if ((posX < end_x_position) && (end_x_position < totalWidth)) //THIS PART DOESNOT RUN EVEN IF CONDITION IS TRUE
{
console.log("iff");
alert("iff");
b.style.left = intial_x_position;
b.style.top = intial_y_position;
} else {
console.log("else");
b.style.left = end_x_position - xbox;
b.style.top = end_y_position - ybox;
}
}, false);
答案 0 :(得分:1)
if((posX<end_x_position)&&(end_x_position<totalWidth)) //THIS PART DOESNOT RUN EVEN IF CONDITION IS TRUE
例如,这就像尝试这样:
3 < "hello world"
检查你的第一行:
end_x_position=(event.changedTouches[0].pageX + 'px');
end_y_position=event.changedTouches[0].pageY + 'px';
整个end_x_position
将包含400px
之类的内容。这是一个字符串,您无法将String
与Number
进行比较。
而不是那样,你应该这样做:
end_x_position= parseInt(event.changedTouches[0].pageX);
end_y_position= parseInt(event.changedTouches[0].pageY);
您的if
语句将按预期运行,因为您将Number
与Number
进行比较。
答案 1 :(得分:0)
你用这条线打了它:
end_x_position=(event.changedTouches[0].pageX + 'px');
end_y_position=event.changedTouches[0].pageY + 'px';
取消px或执行此操作:
if((posX< parseInt(end_x_position))&&( parseInt(end_x_position) <totalWidth))