gpt4 book ai didi

javascript - 在 touchstart 上获取元素?

转载 作者:行者123 更新时间:2023-12-01 03:18:28 26 4
gpt4 key购买 nike

我在页面上有一系列 div,您可以向左滑动,这将显示下面的 div。当只有一个元素时,这种方法效果很好,但当有多个元素时,它们都会一致滑动,而不是单独滑动一个。

为了解决这个问题,我尝试了这里的想法:Find element finger is on during a touchend event

问题是,现在只有第一个元素被滑动,而其余元素保持静止。关于如何解决这个问题有什么想法吗?我以为我可以使用 this,但它总是返回 window 对象。

代码:

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

演示(仅适用于 iOS):http://www.codekraken.com/testing/snowday/swipe.html

最佳答案

您可以使用event.target获取事件起源的元素。

function touchStart(event){
var currentElement = event.target;
}

关于javascript - 在 touchstart 上获取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com