Bekommen element auf touchstart?

Habe ich eine Reihe von divs auf einer Seite, die können Sie streichen Sie nach Links auf, die offenbaren wird, ein div darunter. Dies funktioniert gut, wenn es nur ein element, aber wenn es mehrere, Sie alle streichen unisono, statt immer geklaut allein.

Um dies zu beheben, versuchte ich die Ideen hier: Element suchen finger während ein touchend-Ereignis

Problem ist jetzt nur das erste element wird geklaut, während der rest von Ihnen bleiben stationär. Irgendwelche Ideen, wie ich dieses Problem beheben könnte? Ich dachte, ich könnte this, aber es würde immer wieder die window Objekt.

Code:

var originalCoord = {
        x: 100,
        y: 100
    }
    var finalCoord = {
        x: 100,
        y: 100
    }

    function touchMove(event) {
        event.preventDefault();
        finalCoord.x = event.targetTouches[0].pageX
        finalCoord.y = event.targetTouches[0].pageY
    }

    function touchEnd(event) {
        var changeY = originalCoord.y - finalCoord.y
        if (changeY < 30 && changeY > (30 * -1)) {
            changeX = originalCoord.x - finalCoord.x
            if (changeX > 10) {
               var elem = document.elementFromPoint(event.pageX, event.pageY);
               console.log(elem);
                $(elem).css("margin-left", "-54px");
                setTimeout(function () {
                    $(elem).css("margin-left", "0px");}
                , 500);
            }
        }
    }

    function touchStart(event) {
        originalCoord.x = event.targetTouches[0].pageX
        originalCoord.y = event.targetTouches[0].pageY
        finalCoord.x = originalCoord.x
        finalCoord.y = originalCoord.y
    }

    this.addEventListener("touchstart", touchStart, false);
    this.addEventListener("touchmove", touchMove, false);
    this.addEventListener("touchend", touchEnd, false);

Demo (funktioniert nur über iOS): http://www.codekraken.com/testing/snowday/swipe.html

event.target ?
Ich glaube nicht, irgendetwas einfach war das... könnte Sie post, als Antwort und ich werde markieren Sie es als akzeptiert.

InformationsquelleAutor Charlie | 2012-10-17

Schreibe einen Kommentar