jQuery点击功能缓慢(滞后)在手机上



所以我有这个点击功能,切换下拉菜单,但在智能手机上,这是缓慢的,不流畅。

是否有其他方法使这个下拉工作与平滑过渡在任何移动设备上使用jQuery?

(我听说过"vclick",但不知道如何使其工作。

$j('.dropdown-menu').click(function() {
$j('.dropdown-menu').not(this).children('ul').slideUp("slow");
$j(this).children('ul').slideDown("slow");
});

$j('.dropdown-menu').blur(function() {
$j('.dropdown-inside').hide('slow', function() {
});
});

尝试点击Id而不是class。上课总是很慢。假设你的下拉菜单的id是'myDropdown'那么就输入

$j('#myDropdown').click(function(){
    //your code here
});

第一部分可以简化为:

$j('.dropdown-menu').click(function() {
    $j('.dropdown-menu').not(this).children('ul').slideToggle(2000);
});

另外,尝试将隐藏的内容包装在div中并给它一个width。当你点击div时,它实际上把它拉出位置来测量它,然后快速替换它,因为JQuery不知道你隐藏的div的尺寸,直到它显示出来。所以。这可能会使整个动画延迟!

另一个建议:

IDclass快。部分原因是ID应该是唯一的,因此API在DOM中找到ID后停止搜索。

如果必须使用classattribute选择器,可以通过指定可选的上下文参数来提高性能。

信用

原因
根据Google:
…从点击按钮触发点击事件开始,移动浏览器将等待大约300毫秒。这样做的原因是,浏览器正在等待查看您是否实际上执行了双击。

<<p> 解决方案/strong>
1. 使用fastclick.js来摆脱这个300ms的延迟
https://github.com/ftlabs/fastclick
2. 使用应用程序缓存来加速加载
https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache

最新更新