2012-12-05 60 views
0
$(button).click(function(){ 
    if (Modernizr.zoom()) $('body').animate({ zoom: '200%'; }, 1000); 
    else $('body').alternative(); 
}); 

正如您在上面所看到的......我想放大點擊頁面。jquery確定在瀏覽器中是否可以使用css縮放功能

順便說一句:使用'zoom'(css)很好嗎?我不確定,因爲我沒有找到'zoom'(css)的任何好的描述。或者是使用'scale'(css)來製作動畫更好?

主要問題:有沒有什麼方法可以檢測瀏覽器是否支持這種css-'zoom'(或其他)功能? 我使用的是Modernizr,但是在Modernizr中,如果'zoom'可用,沒有任何可檢測的東西。

回答

1

好的。我發現,使用CSS縮放屬性並不好,因爲它只適用於IE和一些更新版本的「真實」瀏覽器。如果我有一個百分比值的佈局,它不會縮放,除非我也改變了寬度或高度的值,這是不好的。

但它確實與css3 scale-property一起使用!因此我發現了Modernizr.csstransforms()特徵檢測(對於js)!

所以......就是這樣!

2

如果有人需要它...

我用modernzr看看瀏覽器是否支持變焦性能

if (Modernizr.testProp('zoom') === true) { 
    someStuff() 
    } 

,但爲什麼不使用transform? ,因爲在這個特定的項目中,我需要放大所有的網站,使得像瀏覽器原生縮放,並且當您在網站上使用transform鉻模糊所有的字體,但您可以使用zoom,它做了一個非常好的工作。

但firefox無法識別縮放屬性,所以我使用縮放如果可用縮放,如果不是我使用transform縮放。

if (Modernizr.testProp('zoom') === true) { 
    zoomWithCSS() 
} 
else { 
zoomWithTransformScale() 
} 

working example on codepen

相關問題