Chr*_*ier 6 performance jquery
我有一个定制的手风琴菜单.要在菜单中显示第二级选项,我选择使用slideToggle()
.出于某种原因,它们在点击和动画发生之间存在延迟.
当与同一页面上的另一个手风琴菜单形成对比时,这是显而易见的......我发现绑定(点击)菜单项的功能几乎立即执行.问题是slideToggle
动画似乎比它应该开始得晚.
我相信这可能会发生,因为我的目标slideToggle()
是调用被调用的元素.
var $expandableMenu = $(".expandable .level1");
$expandableMenu.bind('click', function () {
$(this).next().slideToggle(200, function () {
$(this).parent().toggleClass("opened");
});
});
Run Code Online (Sandbox Code Playgroud)
也许问题是,这$(this).next()
是一个缓慢的方法来定位我需要使用的元素slideToggle()
?
你的想法是什么?
编辑:我做了一个jsFiddle测试用例......奇怪的是,问题不会在这里发生.http://jsfiddle.net/nYZNP仍在寻找问题.
$(this).next().slideToggle(200, "linear", function () {
$(this).parent().toggleClass("opened");
});
Run Code Online (Sandbox Code Playgroud)
您是否尝试过使用不同的缓动选项?
此外,如果您在移动设备上遇到此问题,则延迟可能是移动设备处理点击事件的方式的一部分,该事件可能具有 50 毫秒或更长的固有延迟。