【发布时间】:2016-02-16 03:37:21
【问题描述】:
我使用这个 JS 代码来切换我的响应式菜单,但它在手机中运行不流畅。你知道为什么吗?
<script>
$(function() {
var pull = $('.slide-toggle');
menu = $('.menu');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle(500);
});
$(window).resize(function(){
var w = $(window).width();
if(w > 768 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
});
</script>
感谢您的帮助!0
【问题讨论】:
-
使用 jquery 动画例如:
slideToggle在移动设备上通常很慢,您可以尝试查找 css3 过渡(请参阅此问题:stackoverflow.com/questions/8860631/…) -
+1 用于 CSS3 过渡建议。
slideToggle需要一个 JS 函数通过setTimeout每隔几毫秒触发一次。由于 JS 速度较慢,并且无法保证一致的触发——尤其是在移动设备上——你会得到明显的抖动。 CSS3 过渡是在本机代码中实现的,几乎总是看起来很流畅。 -
非常感谢!我会查找 CSS3 过渡!
标签: javascript jquery toggle