iOS 7设备上touchmove期间的CSS转换将无法运行

时间:2014-04-25 15:29:19

标签: jquery ios webkit css-transitions

当用户向下滚动时,只要用户向上滚动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设备上运行?

这是JSFiddleThis似乎是相关的。

0 个答案:

没有答案