延迟jQuery slideToggle动画

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仍在寻找问题.

car*_*ter 0

            $(this).next().slideToggle(200, "linear", function () {
                $(this).parent().toggleClass("opened");
            });
Run Code Online (Sandbox Code Playgroud)

您是否尝试过使用不同的缓动选项?

此外,如果您在移动设备上遇到此问题,则延迟可能是移动设备处理点击事件的方式的一部分,该事件可能具有 50 毫秒或更长的固有延迟。