7

イベントが発生したときに背景色にアルファチャネルを追加する jQuery 関数があります。

これが私のjsFiddleです。

CSS

div { background-color: rgb(100,100,100); }

JavaScript

function addAlphaChannel() {
    var oldBGColor = $('div').css('backgroundColor'); //rgb(100,100,100)
    var newBGColor = oldBGColor.replace('rgb', 'rgba').replace(')', ',.8)'); //rgba(100,100,100,.8)

    $('div').css({ backgroundColor: newBGColor });
}

このコードは正常に動作しますが、アルファ チャネルを追加/変更するより良い方法があるのでしょうか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

JavaScript を使用して rgba css プロパティを変更する場合は、replace メソッドを使用する必要がありますが、次のようにコードを改善できます。

CSS

 div { background-color: rgba(100, 100, 100, 1.0); }

JS

function addAlphaChannel() {
    var oldBGColor = $('div').css('background-color'), //rgb(100,100,100),
        newBGColor = oldBGColor.replace(/[^,]+(?=\))/, '0.8'); //rgba(100,100,100,.8);

    $('div').css({ backgroundColor: newBGColor });
}

これがあなたを助けることを願っています。

于 2013-10-25T16:03:21.390 に答える