将两个jQuery函数简化为一个

时间:2018-05-17 17:44:42

标签: javascript jquery

是否有一个功能可以完成这两个功能(以及任何继续格式化的功能)?

   $("#1A").hover(function(){
         $(".route1A").stop().fadeToggle(500);
      });

  $("#1B").hover(function(){
      $(".route1B").stop().fadeToggle(500);
      });

结果如下所示,其中__代码为'这些是相同的':

$("#__").hover(function(){
  $(".route__").stop().fadeToggle(500);

3 个答案:

答案 0 :(得分:4)

您可以将fetch()的选择器合并到.hover(),然后抓住触发悬停事件的元素的id来创建类选择器,如下所示:

#1A, #1B, etc.

答案 1 :(得分:0)

也许是这样的?

var names = ["1A", "1B"]; //Extend as needed
for(var i=0; i<letters.length; ++i) {
    $("#" + names[i]).hover(function() {
        $(".route" + names[i]).stop().fadeToggle(500);
    });
}

答案 2 :(得分:0)

您可以使用multi-selector。这会将事件处理程序绑定到包含的所有选择器。

$("#1A, #1B").hover(function(){
    $(".route" + this.id).stop().fadeToggle(500);
});