一個人怎麼會堅持在這種情況下晾乾(手風琴的數量可能很大):怎麼幹的CoffeeScript
$ ->
$("#accordion-1").accordion
autoHeight: false
navigation: true
$ ->
$("#accordion-2").accordion
autoHeight: false
navigation: true
一個人怎麼會堅持在這種情況下晾乾(手風琴的數量可能很大):怎麼幹的CoffeeScript
$ ->
$("#accordion-1").accordion
autoHeight: false
navigation: true
$ ->
$("#accordion-2").accordion
autoHeight: false
navigation: true
看來你可以創建一個通過選擇產生另一個函數的函數:
create = (selector) ->
$ ->
$(selector).accordion
autoHeight: false
navigation: true
則:
create "#accordion1"
create "#accordion2"
不知道的CoffeeScript,但在JS使用jQuery,你可以說像$("#accordion-1,#accordion-2").accordion(...)
同時影響兩個元素。或者,您可以將一個類應用於HTML中的手風琴,然後像$(".accordion").accordion(...)
那樣說。這在我看來是最不可能導致未來悲傷的方式;你需要一個手風琴,你只需要給它適當的課程。您從HTML中刪除它,它已經從要使用的元素列表中刪除,而無需編輯單獨的腳本。
最簡單/最短的解決方案:
$ ->
$("#accordion-1, #accordion-2").accordion
autoHeight: no
navigation: yes
傑弗瑞趙的允許一個循環的列表,以防萬一有很多手風琴,而它不回答'如何重構咖啡腳本'cHao是正確的,應該使用一個類。在coffeescript這也是最簡單的。 – Hedgehog
由於超,我給傑弗裏趙的答案是因爲他提供了一個在這種情況下重新考慮咖啡標記的例子。然而,你是對的,並且正確的是這是一種代碼味道 - 應該爲這種類型的情況引入類。 – Hedgehog