在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 為什么range表單綁定onchange后,第一次事件觸發(fā)賦值成功,隨后事件觸發(fā)

為什么range表單綁定onchange后,第一次事件觸發(fā)賦值成功,隨后事件觸發(fā)賦值失???

<div class="a">

    <img src="圖片圖片圖片.jpg" alt="JOJO">
</div>
<div class="b">
    <div class="b1">
        <span>色相</span>
        <input type="range" min="0" max="359" step="1" class="b11">
        <input type="checkbox">
    </div>
    <div class="b1">
        <span>飽和度</span>
        <input type="range" min="0" max="100" step="1" class="b11">
        <input type="checkbox">
    </div>
    <div class="b1">
        <span>亮度</span>
        <input type="range" min="0" max="100" step="1" class="b11">
        <input type="checkbox">
    </div>
</div>


<style>
    .a{
        width: 500px;
        height: 500px;
        border: 5px inset #aaa;
        margin: 50px;
        margin-left: 150px;
        position: relative;
        display: inline-block;
    }

    .a>img{
        max-width: 500px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }

    .b{
        float: right;
        margin: 50px;
        margin-right: 150px;
    }

    .b1>span{
        display: block;
    }
</style>


<script>
    var pictureNode = document.querySelector(".a").firstElementChild;
    var slideBoxNode = document.querySelectorAll(".b1");

    function bindInput() {
        var i = 0;
        var hueRotate = "hue-rotate(" + document.querySelectorAll(".b11")[0].value + "deg)";
        var saturate = "saturate(" + document.querySelectorAll(".b11")[1].value + "%)";
        var brightness = "brightness(" + document.querySelectorAll(".b11")[2].value + "%)";
        var slideNode = 0;

        for(;i<slideBoxNode.length;i++){
            slideNode = document.querySelectorAll(".b11")[i];
            slideNode.addEventListener("change", function () {
                return (function () {
                    pictureNode.style.filter = hueRotate + " " + saturate + " " + brightness;
                    console.log(pictureNode.style.filter);
                })(i);
            });
        }
    }
    window.bindInput();
</script>
回答
編輯回答
做不到
<div class="a">
    <img src="圖片圖片圖片.jpg" alt="JOJO">
</div>
<div class="b">
    <div class="b1">
        <span>色相</span>
        <input type="range" min="0" max="359" step="1" class="b11" value="0"><!-- value="0"給色相賦默認(rèn)值 -->
        <input type="checkbox"> 
    </div>
    <div class="b1">
        <span>飽和度</span>
        <input type="range" min="0" max="100" step="1" class="b11" value="100"><!-- value="100"給飽和度賦默認(rèn)值 -->
        <input type="checkbox">
    </div>
    <div class="b1">
        <span>亮度</span>
        <input type="range" min="0" max="100" step="1" class="b11" value="100"><!-- value="100"給亮度賦默認(rèn)值 -->
        <input type="checkbox">
    </div>
</div>

var pictureNode = document.querySelector(".a").firstElementChild;
var slideBoxNode = document.querySelectorAll(".b1");

function bindInput() {
    var i = 0
    var blls = document.querySelectorAll(".b11")
    var hueDom = blls[0] // 把dom保存下來(lái)
    var saturateDom = blls[1]
    var brightnessDom = blls[2]
    var slideNode = 0;

    for(;i<slideBoxNode.length;i++){
        slideNode = document.querySelectorAll(".b11")[i];
        slideNode.addEventListener("change", function () {
            return (function () {
                var hueRotate = "hue-rotate(" + hueDom.value + "deg)"; // 事件觸發(fā)的時(shí)候求值
                var saturate = "saturate(" + saturateDom.value + "%)";
                var brightness = "brightness(" + brightnessDom.value + "%)";
                pictureNode.style.filter = hueRotate + " " + saturate + " " + brightness;
                console.log(pictureNode.style.filter);
            })(i)
        });
    }
}
window.bindInput();
2017年12月3日 20:06