由于从转前端一年左右,都是直接接触框架,而并没有踏踏实实学习相关基础,所以,最近开始认认真真,踏踏实实的把基础的东西都过一遍。目前正在学习如何操作 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