Hakuna_Matata
2015-07-20 16:30
jQuery(document).ready(function() {
var t = $(".dox li"),
b = $(".dox div");
var index = 0;
var timer = null;
// if (t.length != b.length) return;
for (var i = 0; i < t.length; i++) {
t[i].id = i;
$(t[i]).mouseover(function() {
var that = this;
clearInterval(timer);
timer = setTimeout(function() {
for (var j = 0; j < b.length; j++) {
b.css("display", "none");
t.removeClass();
};
$(that).addClass('hover');
$(b[that.id]).css("display", "block");
}, 150);
});
$(t[i]).mouseout(function() {
timer = setInterval(function() {
index++;
if (index >= t.length) {
index = 0;
}
for (var j = 0; j < b.length; j++) {
b.css("display", "none");
t.removeClass();
};
$(t[index]).addClass('hover');
$(b[index]).css("display", "block");
}, 2000);
});
};
if (timer) {
clearInterval(timer);
timer = null;
}
timer = setInterval(function() {
index++;
if (index >= t.length) {
index = 0;
}
for (var j = 0; j < b.length; j++) {
b.css("display", "none");
t.removeClass();
};
$(t[index]).addClass('hover');
$(b[index]).css("display", "block");
console.log(index);
}, 2000);
});
$(t[i]).mouseover(function() { var that = this; clearInterval(timer); timer = setTimeout(function() { for (var j = 0; j < b.length; j++) { b.css("display", "none"); t.removeClass(); }; $(that).addClass('hover'); $(b[that.id]).css("display", "block"); index = that.id; }, 150);
鼠标划过标签的时候并没有修改index的值,这样当鼠标离开当前标签后index的值是上次自动播放的index+1。解决办法是在鼠标划过标签后,把index的值修改为标签的id值,这样下次自动播放时就会从划过标签的下一个标签开始。代码如上,添加的代码在倒数第二行。
Tab选项卡切换效果
65469 学习 · 533 问题
相似问题