CSSで指定したCSS変数をjQueryで利用する方法のご紹介です。
jQueryで変数作っちゃっても良いけど、そうできない時もある。
例えば、、、、ん~あるかなぁ。
jQueryで変数作れない時は、あるっ!としてCSS変数を書き換える方法です。
デモとjQueryでの書き換え方法です。
CSS変数を変更して四角の色を変えます
HTML
<div class="demo"> <select> <option value="1">赤色</option> <option value="2">青色</option> <option value="3">緑色</option> <option value="4">黄色</option> </select> <span></span> </div>
CSS
.demo {
--color1: #e35151;
--color2: #5168e3;
--color3: #0db96c;
--color4: #e9c853;
}
.demo1 span {
position: relative;
display: block;
margin: 0 auto;
background: var(--color1);
width: 250px;
height: 130px;
transition: 1.6s;
border-radius: 10px;
box-shadow: 0 10px 52px -11px var(--color1);
}
jQuery
$(".demo1__selectColor select").change(function() {
var sc = $("select").val();
$(".demo span").css({
background: "var(--color" + sc + ")",
boxShadow: "0 10px 52px -11px var(--color" + sc + ")"
});
});
解説
CSSで作成した変数「–color1」~「–color4」をjQueryで利用します。
CSS変数をCSS上で指定する場合、「background: var(–color1);」のように記述します。
jQueryでも、同じような書き方でCSS関数を上書きしています。
今回は、「select」を変更したら「select」の値を取得して、その値をCSS変数名に追加してるのでちょっと変わった書き方になっています。







コメント