嘛,繼續努力。
標籤: Tocas
被自己侷限住?設計元素 Tocas 問題。
其實以前開發了一套類似 BootStrap 的設計介面元素,
叫做 Tocas,你可以按下這裡觀看原始碼,
如果你還是不清楚這是什麼的話,就是給網頁用的 CSS 樣式表,
可以輕鬆做出像下面這樣的效果(Tocas 2 Beta)
那不是很簡單嗎?
輕輕鬆鬆靠了幾個用法就可以做出自己想要的畫面,
這個問題就在這邊,Tocas 是一套規則,而不是可自由變化的變形蟲。
有了規則之後,迎來的就是毀滅。
谷阿莫雖然很廢話,但有時候他說的話也是可以令人參考的,我會建議你看完露西最後面那段
然後其實看完之後你可能會發現跟我這個文章根本沒關係。
Tocas 是一套規則,那基本上也沒什麼困難的,只要按照規則走,就沒有問題了,
但是 TeaMeow 要用到的 Tocas 部分越多,問題也就越來越浮現。
按照規則,還是更客製化?
TeaMeow 有很多地方不是 Tocas 能用上用場的,
例如說背景顏色,不一定能夠與 Tocas 相符,Tocas 可能採用灰色底,
但是如果 TeaMeow 要白色的時候怎麼辦呢,在去生一個「白色背景的 Tocas」嗎。
還沒完善
其實 Tocas 本身就是一個還沒完成的產品(但是 TocasJS 已經差不多定型了)
所以經常修改這裡,修改那裡的,我還在想說是不是應該要花多一點時間來讓他更加完善 ..
不然平常都是改一下,然後要用的時候又改一下(搞到最後都亂了)。
結論
其實 Tocas 在不注重整體環境下,
只根據 Tocas 本身提供的元件做出來的效果是很優秀
(這點我真的不唬爛。)
所以仔細想想,作為獨立元件,好像才是 Tocas 原本的理念,
也就是說把 Tocas 當作按鈕、文字框的樣式提供者,
然後套用上 TeaMeow 的自訂顏色,一切看似好像都會解決,
但是我懂,等開始寫程式的時候,一定不會這麼順暢。
結論?又有的忙惹。
Tocas 現在支援點擊編輯 .. ?
Tocas 的新功能 「Binder」
其實這個功能是看到這一篇「Backbone 的 View」有感而發的,
在 Backbone.js 裡面這裡的範例是這樣:
events:
{
"click #add-friend": "showPrompt",
"click .delete" : "delete_li"
}
我想說:「喔?還不錯。」
然後就打算自己也在 Tocas 加了一個類似的功能,不過寫法不同,
因為看起來 Backbone.js 是透過「空白」來區隔「事件」跟「元素」的,
但是我想說有時候可能會加很多「事件」,有時候可能會有很多「元素」,或者很多「回傳」。
Tocas 做法
所以我後來研發出來的寫法是這樣:
$.binder = function(Binds)
{
for(var i in Binds)
{
/** Split the event and the target first */
var Splits = i.split('|'),
/** The first array is events */
Events = Splits[0],
/** Split the targets */
Targets = Splits[1].split('&')
/** Each target */
for(var t in Targets)
if(Binds[i].isArray)
/** Bind each callback if it's a callback array */
for(var f in Binds[i])
$(Targets[t]).on(Events, Binds[i][f])
else
$(Targets[t]).on(Events, Binds[i])
}
}
用法
$.binder
({
'click | img & a' : meow.addNew,
'mouseover | img' : meow.removeNew
})
翻譯成中文可以像這樣
$.binder
({
'事件 事件 事件 | 元素 & 元素' : 回傳,
'事件 | 元素' : [回傳, 回傳]
})
所以你可以有多個事件,或是多個元素,甚至多個回傳(用陣列包起來)。
比照圖
看起來至少比下面的一般 $.on 還要好多了 ..










