onmouser
- onmouserover的功能鼠标移入时执行相应函数
- 在鼠标移出时不起作用
那么我们如何用一个onmouserover既实现onmouserover的功能又实现onmouserout的功能?
示例代码如下
var num = 0;
for(var i = 0;i < obj.length; i++) {
obj[i].index = num;
obj[num].onmouseover = function() {
obj[num].style.backgroundColor = "#000";
}
obj[num].onmouseout = function() {
obj[num].style.backgroundColor = "#fff";
}
}
我们可以看到,上述代码实现了obj这个元素鼠标经过时背景色变黑离开时变白
下面是一个onmouserover实现的上面功能
var num = 0;
for(var i = 0;i < obj.length; i++) {
obj[i].index = i;
obj[i].onmouseover = function() {
for (var k = 0; k < obj.length;k++){
obj[k].style.backgroundColor = "#fff";
num = this.index;
}
obj[num].style.backgroundColor = "#000";
}
}
原理解释
- 在执行onmouserover的时候就用一个for循环把所有obj的背景色设为默认值 “#fff” ,这样就相当于实现了onmouserout的功能
- 然后用把this.index赋值给全局变量num,传出数据(作用域的内容,在这做不过多说明)把当前的obj设置为 “#000”
这个框架的用途其实可以推的很广,比如执行一些**“此有彼无”**的动画都可以用