0
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);
4

2 に答える 2

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ようなものを保持します400pxStringこれは文字列であり、 と比較することはできませんNumber

その代わりに、これを行う必要があります。

end_x_position= parseInt(event.changedTouches[0].pageX);
end_y_position= parseInt(event.changedTouches[0].pageY);

と比較するので、ifステートメントは期待どおりに機能します。NumberNumber

于 2013-09-16T05:43:05.317 に答える