我认为这是一个长镜头,但值得一问。我在许多移动应用程序(例如 Facebook)中都有类似于左侧菜单的东西,当您按下“打开”按钮时,它会顺利打开(在我的情况下,使用 CSS 转换),但我也实现了拖出功能,您可以从屏幕左侧滑动以将菜单拖出。在这种情况下,它是由 javascript 驱动的,并且对于 CSS 转换来说太快(似乎)不知道该做什么。它会变得混乱、口吃、倒退等。所以我只是在用户将菜单拖出时关闭了转换。这在 ti 非常流畅的 iOS 上效果很好,虽然 Android 和 Blackberry 都在尽力而为,但如果它可以更流畅就更好了。
这是我的打开/关闭菜单状态的 CSS
#view_wrap {
position: absolute;
top: 0px;
right: -100%;
left: 100%;
bottom: 0px;
-webkit-transition: all .2s 0s;
-webkit-transform: translate(-100%);
background-color: #fff;
}
#menu.open + #view_wrap {
-webkit-transform: translate(-3.125em);
box-shadow: 0px 0px .3125em rgba(0,0,0,.5);
overflow: hidden;
}
#view_wrap.animating {
-webkit-transition: none;
}
并且拖动功能只是改变translate
每个值touchmove
你知道有什么技巧可以让如此快速的变化在有或没有 CSS 过渡的情况下更顺利地应用吗?