How to set CSS3 transition using javascript?

后端 未结 6 730
执念已碎
执念已碎 2020-11-29 04:26

How can I set CSS using javascript (I don\'t have access to the CSS file)?

#fade div {
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -o-         


        
6条回答
  •  广开言路
    2020-11-29 05:19

    var vendors = [
        '-webkit-',
        '-o-',
        '-moz-',
        '-ms-',
        ''
    ];
    
    function toCamelCase(str) {
        return str.toLowerCase().replace(/(\-[a-z])/g, function($1) {
            return $1.toUpperCase().replace('-', '');
        });
    }
    
    function setCss3Style(el, prop, val) {
        vendors.forEach(function(vendor) {
            var property = toCamelCase(vendor + prop);
    
            if(p in el.style) {
                el.style[p] = val;
            }
        });
    }
    

    usage :

    setCss3Style(someElement, 'transition', 'opacity 1s');
    

    Here's a live demo.

提交回复
热议问题