溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用JavaScript動態(tài)設(shè)置CSS3屬性值

發(fā)布時間:2021-10-15 14:15:19 來源:億速云 閱讀:158 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)如何使用JavaScript動態(tài)設(shè)置CSS3屬性值,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

使用JavaScript動態(tài)設(shè)置CSS3屬性值使我們能夠更精細(xì)地控制CSS過渡。在 使用JavaScript設(shè)置CSS3屬性的教程中 ,以下是通用的CSS3屬性setter和getter。它實時檢查瀏覽器支持的JavaScript形式的CSS屬性版本(即:“ transform”或“ WebkitTransform”),并返回該屬性。


<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">function getcss3prop(cssprop){</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    var css3vendors = [''' -  moz  - ',' -  webkit  - ',' -  o  - ',' -  ms  - '' -  khtml-']</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    var root = document.documentElement</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    function camelCase(str){</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

        return str.replace(/ \  - ([az])/ gi,function(match,p1){// p1引用括號中的子匹配</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

            return p1.toUpperCase()//將“ - ”后的第一個字母轉(zhuǎn)換為大寫</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

        })</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    forvar i = 0; i <css3vendors.length; i ++){</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

        var css3propcamel = camelCase(css3vendors [i] + cssprop)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

        if(css3propcamel.substr(0,2)=='Ms'//如果屬性以'Ms'開頭</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

            css3propcamel ='m'+ css3propcamel.substr(1)//將'M'轉(zhuǎn)換為小寫</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

        if(root.style中的css3propcamel)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

            返回css3propcamel</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    返回undefined</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

}</font></font>

只需輸入一個未經(jīng)改動的CSS3屬性即可獲得瀏覽器支持的版本。如果瀏覽器不支持任何形式的屬性,undefined則返回。



<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">var transformprop = getcss3prop('transform'//返回'transform'或其中一個變體,例如'msTransform','MozTransform','WebkitTransform'等</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

var transitionprop = getcss3prop('transition'//返回'transition'或其中一個變體,例如'MozTransition','WebkitTransition'等</font></font>

獲得CSS3屬性的受支持版本后,您可以動態(tài)探測或設(shè)置其值,例如:





<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">if(transformprop){//如果已定義</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    var el = document.getElementById('box')</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

    el.style [transformprop] ='rotate(180deg)scale(1.05,1.05)'</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">

}</font></font>

關(guān)于“如何使用JavaScript動態(tài)設(shè)置CSS3屬性值”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI