WebAPI(part5)--排他操作
学习笔记,仅供参考,有错必究文章目录Web API排他操作排他思想百度换肤案例表格隔行变色Web API排他操作排他思想如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:所有元素全部清除样式(干掉其他人)给当前元素设置样式 (留下我自己)注意:顺序不能颠倒,首先干掉其他人,再设置自己举个例子代码:<!DOCTYPE html><html lang="
·
学习笔记,仅供参考,有错必究
Web API
排他操作
排他思想
如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:
- 所有元素全部清除样式(干掉其他人)
- 给当前元素设置样式 (留下我自己)
注意:顺序不能颠倒,首先干掉其他人,再设置自己
- 举个例子
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<button>5</button>
<script>
var btns = document.getElementsByTagName("button")
for (var i = 0; i < btns.length; i++) {
btns[i].onclick = function() {
for (var i = 0; i < btns.length; i++) {
btns[i].style.backgroundColor = '';
}
this.style.backgroundColor = 'pink';
}
}
</script>
</body>
</html>
现在,我们点击4按钮:
再点击3按钮:
OK!
百度换肤案例
- 实现效果
实现点击小图片,换背景图片的效果。
- 代码
<body>
<ul class="baidu">
<li><img src="images/1.jpg"></li>
<li><img src="images/2.jpg"></li>
<li><img src="images/3.jpg"></li>
<li><img src="images/4.jpg"></li>
</ul>
<script>
// 1. 获取元素
var imgs = document.querySelector('.baidu').querySelectorAll('img');
// 2. 循环注册事件
for (var i = 0; i < imgs.length; i++) {
imgs[i].onclick = function() {
// this.src 就是我们点击图片的路径
document.body.style.backgroundImage = 'url(' + this.src + ')';
}
}
</script>
</body>
表格隔行变色
- 实现效果
原始表格:
将光标移动到月饼那一行:
- 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.bg {
background-color: pink;
}
</style>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>preduct</th>
<th>money</th>
<th>number</th>
</tr>
</thead>
<tbody>
<tr>
<td>排骨</td>
<td>¥100</td>
<td>4</td>
</tr>
<tr>
<td>月饼</td>
<td>¥80</td>
<td>8</td>
</tr>
<tr>
<td>桂鱼</td>
<td>¥200</td>
<td>2</td>
</tr>
</tbody>
</table>
<script>
// 1.获取元素 获取的是 tbody 里面所有的行
var trs = document.querySelector('tbody').querySelectorAll('tr');
// 2. 利用循环绑定注册事件
for (var i = 0; i < trs.length; i++) {
// 3. 鼠标经过事件 onmouseover
trs[i].onmouseover = function() {
// console.log(11);
this.className = 'bg';
}
// 4. 鼠标离开事件 onmouseout
trs[i].onmouseout = function() {
this.className = '';
}
}
</script>
</body>
</html>
更多推荐
已为社区贡献9条内容
所有评论(0)