當我編寫一個jQuery插件時,我喜歡指定CSS方式的間距選項。 我寫了一個函數,它返回一個CSS字符串作爲對象的值。解析css措施
5px的10px的回報率最高:5像素,右:10px的,底部:5像素,左:10px的
現在我經常使用的返回值做了一些計算,它不是很不錯的每一個提取測量單元時間...
我在編寫正則表達式可能有人幫助我完成這個功能吸吮:
this.cssMeasure = function(cssString, separateUnits){
if (cssString){
var values = {}
}else{
return errorMsg
}
var spacing = cssString.split(' ')
var errorMsg = 'please format your css values correctly dude'
if(spacing[4]) {
return errorMsg
} else if (spacing[3]) {
values = {top: spacing[0], right:spacing[1], bottom:spacing[2], left:spacing[3]}
} else if (spacing[2]) {
values = {top: spacing[0], right:spacing[1], bottom:spacing[2], left:spacing[1]}
} else if (spacing[1]) {
values = {top: spacing[0], right:spacing[1], bottom:spacing[0], left:spacing[1]}
} else {
values = {top: spacing[0], right:spacing[0], bottom:spacing[0], left:spacing[0]}
}
if (separateUnits) {
$.each(values, function(i, value){
/*
at this place i need to extract the measuring unit of each value and return them separately
something like top: {value: 10, unit: 'px'}, right: {bla} and so on
*/
})
}
return values
}
,如果您有任何想法如何提高這個功能我打開你的評論。
請注意,給出三個值(例如「10px 5px 7px」)是完全有效的;第一個值是頂部,第二個是左側和右側,第三個是底部。 – outis 2010-04-19 23:01:06
很高興知道,我已編輯該帖子。 – meo 2010-04-19 23:03:21