我目前正在进行CSS转换,正在努力寻找合适的Javascript以使其在移动设备上正常运行。
http://seancrater.com/test/
在“ Dirty Dozen Plus”部分中,可以看到过渡。我目前有
ontouchstart =“ this.classList.toggle('hover');
已添加到每个DIV中,但当前需要您从移动设备上按住它以使其处于过渡状态。我想知道是否有人可以通过单击使它保持过渡状态,从而给我一些见识。我尝试了伪:focus,它阻止了它一起运行。
谢谢! -西恩
最佳答案
正如其他人所述,您需要避免:hover。
解决问题的最简单方法是像这样更新CSS:
.top:hover,
.top.touched {
-webkit-transform:translateY(-150px);
-webkit-transition: all .5s;
}
然后将
touched
作为类添加到touchstart
或touchend
上的元素。我的猜测是,您将希望保持当前已触摸哪个元素,因此可以在用户滚动或触摸另一个元素时删除过渡状态。(编辑:更新了小提琴以允许用户点击关闭元素)
http://jsfiddle.net/4n6Z4/1/
外壳,以便在智能手机上进行更轻松的测试:
http://fiddle.jshell.net/4n6Z4/1/show/
关于javascript - 无法获得此CSS过渡以在iPhone上正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22791044/