啊呀 寫一半忘記存草稿就關電腦了QQ
分別操作Spacing,Blur滑動桿以及調色盤,來即時變更圖片的padding,filter以及主題色
:root { --baseColor: yellow }
var(--baseColor)
}.dataset.*
取得HTML data-*
屬性document.documentElement.style
style.setProperty
change
& mousemove
:root { --baseColor: yellow }
var(--baseColor)
}:root {
--base: #ffc600;
--spacing: 10px;
--blur: 10px;
}
img {
padding: var(--spacing);
background: var(--base);
filter: blur(var(--blur));
}
.hl {
color: var(--base);
}
HTML5 data-*
在第一篇有講到
這邊講的是利用.dataset
選取對象的data-*
屬性,跟getAttribute
很像
但是dataset還能抓到data字串,getAttribute試了一下好像無法
<div id="test" data-no="123" data-name="yy" data-time="00:00"></div>
// 輸出 {no: "123", name: "yy", time: "00:00"}
document.querySelector('#test').dataset
// 皆輸出123
document.querySelector('#test').dataset.no
document.querySelector('#test ').getAttribute('data-no');
範例code使用 const suffix = this.dataset.sizing || '';
如果變數不一定取的到值的話可以多加一個空值
等同於 cssPropertyNamestyle.setProperty('padding', '15px');
style.padding = '15px';
範例code中 將input的name屬性 命名為CSS屬性名稱來做呼應
document.documentElement.style.setProperty(`--${this.name}`, this.value + suffix);