js操作高级
var obj = { name: "name", "person-age": 18 } // 访问 obj.name | obj["name"] obj["person-age"]
2.对象的属性可以任意添加与删除
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
var obj={
name:'obj'
};
console.log(obj.name);
// 删除
delete obj.name;
// 添加
obj.age=18;// 如果age的key已存在就是修改值, 不存在就是添加键值对, 添加的key任意
console.log(obj.age)
// 注: 获取的页面元素(标签对象)也可以任意添加/删除属性
</script>
</html>
<body>
<div class="ele" alert="OK">div div div</div>
</body>
<script>
var ele = document.querySelector('.ele');
var info = ele.getAttribute('alert');
console.log(info);
ele.setAttribute('alert', 'no ok');
ele.setAttribute('key', 'value');
console.log(ele);
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.box{
width: 350px;
height: 350px;
margin: 100px auto 0;
}
.box div{
width: 70px;
height: 70px;
background-color: black;
float: left;
border-radius: 25%;
}
</style>
</head>
<body>
<div class="box">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
<script>
var divs=document.querySelectorAll('.box div');
//重置颜色
for (let i=0;i<divs.length;i++){
divs[i].style.backgroundColor='yellow';
}
//游戏实现
for (let i=0;i<divs.length;i++){
divs[i].onclick=function () {
//修改自身
toggleBGColor(this);
//修改上
if (i>4){
var topEle=divs[i-5];
toggleBGColor(topEle);
}
//下
if (i<20){
var btnEle=divs[i+5];
toggleBGColor(btnEle);
}
//右
if (i%5!=4) {
var rightEle=divs[i+1];
toggleBGColor(rightEle);
}
//右
if (i%5!=0) {
var leftEle=divs[i-1];
toggleBGColor(leftEle);
}
}
}
//单击改变颜色
function toggleBGColor(ele) {
var bgColor=ele.style.backgroundColor;
if (bgColor=='yellow'){
ele.style.backgroundColor='black';
} else {
ele.style.backgroundColor='yellow';
}
}
</script>
</html>
2.事件的绑定
<div class="event_on1">事件的绑定1</div>
<div class="event_on2">事件的绑定2</div>
<script>
var event_on1 = document.querySelector('.event_on1');
// 事件绑定的第一种方式
event_on1.onclick = function () {
console.log(1)
};
event_on1.onclick = function () {
console.log(2)
}
// 事件绑定的第二种方式
var event_on2 = document.querySelector('.event_on2');
// 可以为一个元素绑定多个事件, 按绑定顺序依次执行
event_on2.addEventListener('click', function () {
console.log("a")
});
var action = function () {
console.log("b")
}
event_on2.addEventListener('click', action);
// 如何取消事件
event_on2.removeEventListener('click', action)
</script>
3.事件对象
// 系统回调事件函数时, 传递了一个 事件(event) 实参 // 如果要使用传递来的实参 事件(event), 定义接收的 形参 即可 box.onclick = function(ev){ // 使用事件对象 // 特殊按键 eg: ev.altKey: true | false // 鼠标触发点: ev.clientX | ev.clientY // 取消冒泡 ev.cancelBubber = true; // 取消默认事件 return false; }

浙公网安备 33010602011771号