iT邦幫忙

1

jQuery套件開發之(十二),我對套件的一些小思考

暈暈暈
凡舉套件,感覺不脫離三個部分
畫面有新的元素,複雜一點的,會叫做widget
改面既有或新元素的CSS
綁定事件。

這三件事情比重與先後順序以及特性。
造成了不可能一個pattern適用於所有的套件。
本來就不可能
或是說,可以,但是適不適合的問題。
就變成,在開發與效能中取得一個折衷。

以一個jquery ui 的dialog來說的話
想當然他有創造出一個div
然後改變CSS樣貌。
然後針對跑出來的widget綁定一些特定部位的事件。

關閉這個對話框,當下次出現的時候
還是同樣的DIV嗎?只是更換內容的狀況…
又或者是一個新的DIV ( 經過測試是一個新的 )
關閉的時候,是remove還是hide?

widget只有一個的套件真的很好寫。
但是如果畫面上widget會出現不只一個
就要考慮兩個widget會不會相互影響、需不需要溝通。
如果不需要溝通,那也不需要溝通的媒介。
另外就是有時候畫面上產生出很多widget
而你需要一次管理全部。例如說一個函式就所有widget remove掉
為了管理,你所製作出的每一個widget都需要有編號
通常就是用ID以及class

舉例,你現在在畫面點擊一下會觸發一次套件。
跑出一個div上面記錄目前的座標。
你可能會記錄 id="myLocation-1″、class="myLocation-class"
這裡,我也不知道甚麼原因
大家在定義class、id的時候比較少用駱駝是命名法,比較會用分隔線。

但,因為有時候一個widget不是只有一個元素
這時候命名就要更精確一點
例如,出現的div 右上方有一個小小的小XX圖片。點擊可以殺掉整個widget
那命名的時候,會把"角色"一起定義進去。
其實也是class使用的精隨。

第一個widget DIV的id->id="myLocation-showDiv-1″
第一個widget DIV的class->class="myLocation-showDiv"
第一個widget 關閉鈕的id->id="myLocation-closeBtn-1″
第一個widget DIV的class->class="myLocation-closeBtn"


尚未有邦友留言

立即登入留言