for (var i = 0; i < 10; i++) {
alert(i);
}
alert(i); //10
因为js里没有块级作用域,所以for循环里定义的变量也存在于循环外部的执行环境中;i <10,是进入循
环的条件,最后一次进入循环时i = 9,然后i++变成10,不满足进入循环的条件,所以i最后的值是10
- window.onload载入
- 取出所需的各个变量
- 循环遍历12个月份数组,自定义一个index,定义鼠标滑过函数
- 在鼠标滑过函数里再次遍历12个月份数组,将class设为none,通过this.className给当前选择的月份添加class
- 文本框里的内容用一个数组存放,通过(index+1)获取月份、array[this.index]获取数组里对应月份的内容、innerHTML插入到文本框、并用+加号拼接。
// js部分代码
window.onload = function() {
var oDiv = document.getElementById("div1");
var oUl = oDiv.getElementsByTagName("ul")[0];
var aLi = oUl.getElementsByTagName("li");
var oText = oDiv.getElementsByTagName("div")[0];
for (var i = 0; i < aLi.length; i++) {
aLi[i].index = i;
aLi[i].onmouseover = function() {
for (var i = 0; i < aLi.length; i++) {
aLi[i].className = "";
};
this.className = "active";
oText.innerHTML = "<h2>" + (this.index+1) +"月活动</h2><p>" +array[this.index] +"</p>"
}
在线demo
网友评论