<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JS基础——自定义属性的应用1</title>
<style>
ul{ list-style:none;}
li{ width:145px; height:159px; float:left; margin-right:20px; background:url(images/normal.png) no-repeat;}
</style>
<script>
window.onload = function(){
var aLi = document.getElementsByTagName('li');
for(var i=0; i<aLi.length; i++){
aLi[i].onOff = true;
aLi[i].onclick = function(){
if(this.onOff){
this.style.background = 'url(images/active.png) no-repeat';
this.onOff = false;
}else{
this.style.background = 'url(images/normal.png) no-repeat';
this.onOff = true;
}
};
}
};
</script>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
思路:
这里是三组li分别控制各自的两种状态,之前那种var onOff = true;只能控制一组,所以,这里就只能采取自定义属性来做了(aLi[i].onOff = true;)
首先,获取元素,然后循环所有的li,再给每个li添加点击事件,在此之前先给每个li添加一个自定义属性aLi[i].onOff = true;,然后通过if else语句分别控制它的两种状态,如果存在,就切换背景图,然后将自定义属性定义为false,否则就恢复到原图,然后将自定义属性定义为true。