如何干咖啡

时间:2012-06-06 03:10:01

标签: coffeescript dry

在这种情况下如何坚持DRY(手风琴的数量可能很大):

$ ->
  $("#accordion-1").accordion
    autoHeight: false
    navigation: true
$ ->
  $("#accordion-2").accordion
    autoHeight: false
    navigation: true

3 个答案:

答案 0 :(得分:5)

似乎你可以创建一个由选择器生成另一个函数的函数:

create = (selector) ->
  $ ->
    $(selector).accordion
      autoHeight: false
      navigation: true

然后:

create "#accordion1"
create "#accordion2"

答案 1 :(得分:3)

不知道CoffeeScript,但在使用jQuery的JS中,你可以说$("#accordion-1,#accordion-2").accordion(...)同时影响这两个元素。

或者,您可以在HTML中将类应用于手风琴,然后再说$(".accordion").accordion(...)。在我看来,最不可能引起未来悲痛的方式;你想要一个手风琴,你只要给它一个合适的课程。您将其从HTML中删除,它已从要使用的元素列表中删除,而无需编辑单独的脚本。

答案 2 :(得分:1)

最简单/最短的解决方案:

$ ->
  $("#accordion-1, #accordion-2").accordion
    autoHeight: no
    navigation: yes