JS 操作 DOM 改变方块颜色

1,592 阅读1分钟

由于从转前端一年左右,都是直接接触框架,而并没有踏踏实实学习相关基础,所以,最近开始认认真真,踏踏实实的把基础的东西都过一遍。目前正在学习如何操作 DOM,自己写了个小 Demo,就是鼠标滑过时,改变方块颜色。

思路就是获取 DOM,给 DOM 添加鼠标滑过时触发的事件,通过改变其子元素的背景颜色来实现,核心的 JS 代码如下:

<script type="text/javascript">  
    // 页面加载成功后调用  
    window.onload = function () {    
        // 拿到 ul DOM    
        var ul = document.getElementsByName('ul')[0]    
        // 给 ul 添加事件:鼠标滑过触发事件    
        ul.onmouseover = function (e) {      
            var event = e || window.event // 兼容性问题,有的浏览器拿不到 e      
            var target = event.target || event.srcElement // 兼容性问题,有的浏览器事件源对象不一致,此处的 target 是 li      
            target.style.backgroundColor = 'rgb(200, 200,' + target.getAttribute('img-data') + ')'// 改变背景颜色      
            target.setAttribute('img-data', parseInt(target.getAttribute('img-data') + 5)) // 改变 img-data 的值    
        }  
    }
</script>

最后附上 DEMO