обнаружение поддержки перехода css с помощью modernizr - PullRequest
8 голосов
/ 07 августа 2011

Я собираюсь использовать переход css и плагин jquery в качестве запасного варианта для браузеров, которые его не поддерживают. Я хочу использовать modernizr для обнаружения поддержки css-перехода. Для этого излишне загружать всю библиотеку, я хочу получить только ту часть кода, которая нужна для обнаружения перехода CSS. на странице download modernizr есть много опций и дополнений, которые меня смущают. Мой вопрос заключается в том, какие варианты я должен выбрать, чтобы эффективно обнаружить переход CSS?

enter image description here

<script type="text/javascript">
// modernizr
</script>


<script type="text/javascript">
    if(!Modernizr.csstransitions) { 
     // Use jquery if CSS transitions are not supported
    }
</script>

Ответы [ 3 ]

7 голосов
/ 05 декабря 2011

Вот код, который вам нужен из библиотеки Modernizr.Это всего 1 КБ.

;window.Modernizr=function(a,b,c){function z(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+m.join(c+" ")+c).split(" ");return y(d,b)}function y(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function x(a,b){return!!~(""+a).indexOf(b)}function w(a,b){return typeof a===b}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function u(a){j.cssText=a}var d="2.0.6",e={},f=b.documentElement,g=b.head||b.getElementsByTagName("head")[0],h="modernizr",i=b.createElement(h),j=i.style,k,l=Object.prototype.toString,m="Webkit Moz O ms Khtml".split(" "),n={},o={},p={},q=[],r,s={}.hasOwnProperty,t;!w(s,c)&&!w(s.call,c)?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],c)},n.csstransitions=function(){return z("transitionProperty")};for(var A in n)t(n,A)&&(r=A.toLowerCase(),e[r]=n[A](),q.push((e[r]?"":"no-")+r));u(""),i=k=null,e._version=d,e._domPrefixes=m,e.testProp=function(a){return y([a])},e.testAllProps=z;return e}(this,this.document);

Например, вы можете использовать следующий код и предоставлять анимацию на основе jQuery браузерам, которые не поддерживают переходы CSS3:

if (!Modernizr.csstransitions) {
    $(document).ready(function(){
    $(".test").hover(function () {
        $(this).stop().animate({ color: "#F00" },700)
    }, function() {
        $(this).stop().animate({ color: "#AAA" },700)}
        );
    });
}
4 голосов
/ 07 августа 2011

Просто отметьте поле CSS переходы.Он автоматически отметит несколько полей в правом нижнем углу, я бы оставил «Добавить CSS-классы» и «HTML5 Shim / IEPP», так как оба они очень легкие и полезные.

4 голосов
/ 07 августа 2011

CSS-транзакций не существует, я думаю, что вы ищете CSS-переходы. Это внизу колонки CSS3.

...