Javascript 转盘-元件位置在触摸端可视变化
我正在尝试为移动safari构建一个触摸/滑动旋转木马。到目前为止,还不错,但当我尝试在元素被滑动后设置元素的左侧位置时,遇到了一个问题。CSS中的左侧位置设置正确,但显示不正确 抱歉,如果这不清楚,但有点难以描述 复制 触摸项目3 向左滑动,刚好使项目1离开屏幕,不要将手指抬离屏幕。您应该看到第2项、第3项、第4项、第5项和第6项中的一些内容 将手指抬离屏幕,您将看到项目跳跃。项目3现在是项目2所在的位置,项目4是项目3所在的位置,等等 现在,再次尝试向左滑动。您将再次跳转项目。第2项又回到了原来的位置 基本上,我所做的是根据滑动距离来转换项目。在触摸端,我将元素的位置设置为平移位置。这就是它被打破的地方 我所有的代码都在上面的url中 任何帮助都将不胜感激 谢谢 明白了 所以我的问题不是重置转换。我加了一行:Javascript 转盘-元件位置在触摸端可视变化,javascript,touch,mobile-safari,iphone,multi-touch,Javascript,Touch,Mobile Safari,Iphone,Multi Touch,我正在尝试为移动safari构建一个触摸/滑动旋转木马。到目前为止,还不错,但当我尝试在元素被滑动后设置元素的左侧位置时,遇到了一个问题。CSS中的左侧位置设置正确,但显示不正确 抱歉,如果这不清楚,但有点难以描述 复制 触摸项目3 向左滑动,刚好使项目1离开屏幕,不要将手指抬离屏幕。您应该看到第2项、第3项、第4项、第5项和第6项中的一些内容 将手指抬离屏幕,您将看到项目跳跃。项目3现在是项目2所在的位置,项目4是项目3所在的位置,等等 现在,再次尝试向左滑动。您将再次跳转项目。第2项又回到了
items[i].style.webkitTransform = "translate3d(0px, 0px, 0px)";
到我的updatePosition函数,一切都很好
function updatePosition(){
for(var i=0; i<items.length; i++){
var translatedLeft = getTranslatedPosition(items[i]).left;
items[i].style.left = translatedLeft + "px";
items[i].style.webkitTransform = "translate3d(0px, 0px, 0px)";
}
}
工作演示:在iPhone模拟器或iOS或Android设备中查看