2012-10-24 42 views
2

我正在爲平板電腦開發一個jQuery Mobile應用程序,發現默認的元素大小有點小。我試過,沒有運氣:(如何讓jquery移動顯示更大的元素?

是否有可能讓jQuery Mobile的擴展的一切,30%的人說? 也許,一個CSS技巧會怎麼做呢?

TIA改變初始元規模, 。 阿德里安

+0

'<元名稱= 「視口」 內容= 「寬度=設備寬度,初始規模= 1.3,最大規模= 2」>'不起作用? - 改變所有的CSS可能工作,但必須有一個更簡單的方法:/ – Smamatti

回答

0

我要表明,我使用了一個公平的幾次JavaScript的方式:

HTML:

<div class="foo">content to be scale to 130%</div> 
<div>content that won't be scaled</div> 

的JavaScript:

var scale = function(target, css_rule, value) 
{ 
    var type = document.defaultView.getComputedStyle(target, "").getPropertyValue(css_rule).match(/[a-zA-Z]{0,2}$/); //Get unit type from end of string 

    value = (parseInt(document.defaultView.getComputedStyle(target, "").getPropertyValue(css_rule)) * value); //Get current value of css_rule and multiply by entered value 

    target.style.cssText += css_rule + ':' + value + type + ';'; //Add css_rule to cssText with value and type 
} 

然後,您可以調用此代碼:

var elem = document.getElementsByClassName('foo')[0]; 
scale(elem, 'font-size', 1.3); 

jsFiddle of this example

這個例子將增加30%,擴大了階層的font-size,然後你可以將其應用於您希望擴展的任何和所有CSS規則。

您可能要擴大我的腳本刪除已被覆蓋了一些Regular Expressions老cssText規則,你可以閱讀更多關於這個here.

我希望這有助於,有可能是一個更簡單的方法,但這個代碼可以隨時調用,讓你進出元素的放大輕鬆

注:

本例使用得到一個元素的樣式的一種罕見的方式,Computed Style,形成爲O只適用於Safari,Opera,Google Chrome和Firefox。

對於Internet Explorer使用:elem.currentStyle

+0

然後,對於每個元素,我將不得不添加class =「foo」? –

+0

是的,只要您通過該類調用該函數,您可以將類名更改爲任何您想要的,甚至將其更改爲class =「scale_130」,表示該類爲130%,只要您將該類分配給它 – pathurs

+0

那麼......周圍會有很多class =「foo」......是否可以利用一些繼承機制? –