Javascript 移动设备上的jQuery单击功能慢(滞后)
所以我有一个点击功能,可以切换下拉菜单,但在智能手机上,这个功能很慢而且不流畅 在使用jQuery的任何移动设备上,是否有其他方法可以使此下拉列表顺利过渡 (我听说过“vclick”,但不知道如何使它工作Javascript 移动设备上的jQuery单击功能慢(滞后),javascript,jquery,mobile,Javascript,Jquery,Mobile,所以我有一个点击功能,可以切换下拉菜单,但在智能手机上,这个功能很慢而且不流畅 在使用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').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而不是类。类总是很慢。所以假设你的下拉列表有像“myDropdown”这样的Id,那么就这样做吧
$j('#myDropdown').click(function(){
//your code here
});
第一部分可以简化为:
$j('.dropdown-menu').click(function() {
$j('.dropdown-menu').not(this).children('ul').slideToggle(2000);
});
另外,尝试将隐藏内容包装在div
中,并给它一个宽度
。当你点击div
时,它实际上会将其拉出位置进行测量,然后再快速替换,因为JQuery在显示之前不知道隐藏的div
的尺寸。因此,这可能会导致整个ani拉吉
另一个建议:
ID
比class
快。部分原因是ID
应该是唯一的,因此在DOM中找到ID
后,API停止搜索
如果必须使用类
或属性
选择器,则可以通过指定可选的上下文参数来提高性能
原因根据:
…从您点击按钮触发单击事件起,移动浏览器将等待大约300毫秒。原因是浏览器正在等待查看您是否实际执行双击 解决方案
1.使用fastclick.js消除300毫秒的延迟
2.使用应用程序缓存加速加载
vclick
是一个仅在JQM框架中可用的自定义事件。谢谢!现在似乎快了一点。为隐藏的div指定一个宽度,即使在桌面版本上也会使转换看起来更好!恐怕我需要找到另一种编码方式,因为它仍然不是期望的结果。