-1

您将如何为以下函数创建自动方法?唯一改变的是 .eq() 部分。有任何想法吗?谢谢!

$(".gomb").eq(0).click(function(){              
      $('.popup-overlay').eq(0).slideDown();
});

$(".gomb").eq(1).click(function(){              
      $('.popup-overlay').eq(1).slideDown();
});

$(".gomb").eq(2).click(function(){              
      $('.popup-overlay').eq(2).slideDown();
});
4

6 回答 6

2

尝试

$(".gomb").click(function(){              
      $('.popup-overlay').eq($(this).index(".gomb")).slideDown();
});

或者

var $gombs = $(".gomb").click(function(){              
      $('.popup-overlay').eq($gombs.index(this)).slideDown();
});
于 2013-08-09T11:19:56.797 回答
2

你有没有试过这个:

$(".gomb").click(function(){              
      $('.popup-overlay').eq($(this).index()).slideDown();
});
于 2013-08-09T11:20:02.220 回答
1

试试喜欢

$(".gomb:eq(0) , .gomb:eq(1) , .gomb:eq(2)").click(function(){              
  $('.popup-overlay').eq($(this).index()).slideDown();
});

这是针对索引的0,1,2。如果您想要所有索引,请使用 like

$(".gomb").click(function(){              
  $('.popup-overlay').eq($(this).index()).slideDown();
});
于 2013-08-09T11:21:06.737 回答
0

这可能对你有用,

$(".gomb").click(function(){              
  $(this).slideDown();
});
于 2013-08-09T11:19:54.950 回答
0

这是唯一与您的代码完全相同的解决方案,仅使前三个“.gomb”元素触发弹出窗口的 slideDown。

$(document).ready(function() {
    for(var ii = 0; ii < 3; ii++) {
        $(".gomb").eq(ii).click(function(){              
              $('.popup-overlay').eq(ii).slideDown();
        });
    }
});
于 2013-08-09T11:22:08.737 回答
0

怎么样,

$(".gomb").click(function(e){              
      e.target.slideDown();
});
于 2013-08-09T11:19:04.587 回答