当用户向下滚动时,只要用户向上滚动x
到.stash.off
,从.stash.off.in
向.stash.off.in
滚动,元素.stash.off
的CSS类就会发生变化。 CSS选择器.stash
,.stash.off
和.stash.in
定义如下:
.stash
{
position: absolute;
visibility: hidden;
-webkit-transition: .35s;
transition: .35s;
-webkit-transform: translate(0, -60px);
transform: translate(0, -60px);
}
.stash.in
{
visibility: visible;
-webkit-transition: .35s;
transition: .35s;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.stash.off
{
position: fixed;
-webkit-transition: .35s;
transition: .35s;
}
使用scroll
事件来执行jQuery toggleClass()
的转换在桌面和触摸设备上完美无瑕。但触摸设备上的scroll
会被touchend
触发,从而带来某种延迟。要摆脱此延迟,touchmove
应该替代触摸设备上的scroll
。
但是当使用scroll
时,使用touchmove
的相同JS代码在某些触摸设备上不起作用。目标元素x
只是弹出而没有任何过渡,而不是动画。主要是iOS 7的Apple设备似乎受到了影响。
如果使用touchmove
,我怎样才能让转换在这些Apple设备上运行?