// 把获取id单独封装为一个函数
function _$(id){
return typeof id === 'string' ? document.getElementById(id) : id;
}
window.onload = function(){
// 没有延迟的切换效果========================================================
// 获取鼠标滑过或点击的标签和要切换内容的元素
var titles = _$('notice-tit').getElementsByTagName('li'),
divs = _$('notice-con').getElementsByTagName('div');
// alert(titles.length)
if (titles.length != divs.length) {
return;
}
// 遍历titles下的所有li
for (var i = 0;i < titles.length; i++) {
titles[i].id = i;
titles[i].onmouseover = function(){ // onclick
// alert(this.id);
// 清楚所有li上的class
for (var j = 0; j < titles.length; j++) {
titles[j].className = '';
divs[j].style.display = 'none';
}
//设置当前为高亮显示
this.className = 'active';
divs[this.id].style.display = 'block';
}
}
// 延迟切换 beginning ====================================================
// 标签的索引
var index = 0;
var timer = null;
var delayTits = _$('notice-delay-tit').getElementsByTagName('li'),
delayDivs = _$('notice-delay-con').getElementsByTagName('div');
if (delayTits.length != delayDivs.length) {
return;
}
// console.log(delayDivs.length)
// 遍历所有的页签
for(var m = 0; m < delayTits.length; m++){
delayTits[m].id = 'delay' + m;
delayTits[m].onmouseover = function(){
// 用that这个变量来引用当前滑过的li
var that = this;
// 如果存在了准备执行的定时器,立刻清除,只有当前停留时间大于500ms时才开始执行
if (timer) {
clearTimeout(timer);
timer = null;
}
// 延迟半秒执行
timer = setTimeout(function(){ //setTimeout()的全称是window.setTimeout(),setTimeout()是window的方法。window的所有方法和属性都可以省略window,所以此时的this是window
for(var n = 0; n < delayTits.length; n++){
delayTits[n].className = '';
delayDivs[n].style.display = 'none';
}
// alert(this);// 此时的this变成了window
delayTits[that.id].className = 'active';
delayDivs[that.id.slice(5)].style.display = 'block';
}, 500);
}
}
// 自动切换 beginning ====================================================
// 当前高亮显示的页签的索引
var index = 0;
var timerAuto = null;
var autoTits = _$('notice-auto-tit').getElementsByTagName('li'),
autoDivs = _$('notice-auto-con').getElementsByTagName('div');
// 变量每一个页签且给他们绑定事件
for(var x = 0; x < autoTits.length; x++){
autoTits[x].id = 'auto' + x;
autoTits[x].onmouseover = function(){
clearTimeout(timerAuto);
changeOption(this.id.slice(4));
}
autoTits[x].onmouseout = function(){
// clearTimeout(timerAuto);
timerAuto = setInterval(autoPlay, 2000);
}
}
if (timerAuto) {
clearTimeout(timerAuto);
timerAuto = null;
}
// 添加定时器,改变当前高亮的索引
timerAuto = setInterval(autoPlay, 2000);
function autoPlay(){
index++;
if (index >= autoTits.length) {
index = 0;
}
changeOption(index);
}
function changeOption(curIndex){
for(var d = 0; d < autoTits.length; d++){
autoTits[d].className = '';
autoDivs[d].style.display = 'none';
}
// console.log(index);
autoTits[curIndex].className = 'active';
autoDivs[curIndex].style.display = 'block';
index = curIndex;
}
}