有没有办法结合jQuery。单击函数以提高浏览器速度/减少延迟?

有没有办法结合jQuery。单击函数以提高浏览器速度/减少延迟?,jquery,Jquery,我有一堆按钮/下拉列表对。当按钮悬停在上方时,我想设置其成对下拉列表的动画。以下是我正在使用的: $(document).ready(function () { $(".dropdown-link#hover0").click(function () { $(".dropdown0").toggle("easeInOutQuint"); }); $(".dropdown-link#hover1").click(functio

我有一堆按钮/下拉列表对。当按钮悬停在上方时,我想设置其成对下拉列表的动画。以下是我正在使用的:

$(document).ready(function () {
        $(".dropdown-link#hover0").click(function () {
            $(".dropdown0").toggle("easeInOutQuint");
        });
        $(".dropdown-link#hover1").click(function () {
            $(".dropdown1").toggle("easeInOutQuint");
        });
        $(".dropdown-link#hover2").click(function () {
            $(".dropdown2").toggle("easeInOutQuint");
        });
        $(".dropdown-link#hover3").click(function () {
            $(".dropdown3").toggle("easeInOutQuint");
        });
    });

但是我有很多,用这种方式手动链接每一个是非常低效的。有没有办法找到与按钮配对的下拉列表,这样我就可以一次将单击处理程序添加到所有按钮中?

我想说这有点“短”,这是我认为您可以改进代码的唯一一种效率

$(document).ready(function () {
    $(".dropdown-link").click(function () {
        $(this).next().toggle("easeInOutQuint");
    });
});

你可以这样做

for (var i = 0; i <= 3; i++) {
(function(index) {
$("#hover" + index).click(function () {
$(".dropdown" + index).toggle("easeInOutQuint");
});
})(i);}

for(var i=0;i你说的“效率更高”是什么意思?”它有效。它们下降的速度不够快吗?呃,…只需删除ID并以类为目标。也许他是什么意思?有什么方法可以缩短它?
->
问题太宽泛了,你说什么更有效?以什么方式?或者
$('hover0,#hover1,…)。每个(…)
,甚至只是
$('.下拉链接[id^=hover]')。每个(…)
。这太完美了Thanks@Timothy:忘了那个,检查第二个;)@Timothy:那叫什么。例如,
“foo”+3
导致字符串
“foo3”
@Claudio Redi:哇,这真的很简单。这是我原始代码XD的1/10。
for (var i = 0; i <= 3; i++) {
(function(index) {
$("#hover" + index).click(function () {
$(".dropdown" + index).toggle("easeInOutQuint");
});
})(i);}