html js实现tab代码,原生JS代码实现自动TAB切换(原创)

//声明变量

var main = byId("main"),

index = 0,

nav = byId("nav"),

tabs = nav.getElementsByTagName("span"),

banner = byId("banner"),

pics = banner.getElementsByTagName("div"),

len = tabs.length;

//封装getElementById函数

function byId(id) {

return typeof(id) === "string" ? document.getElementById(id) : id;

}

//封装通用事件绑定函数,兼容性写法

function addHandler(element, type, handler) {

if (element.addEventListener) {

element.addEventListener(type, handler, false);

} else if (element.attachEvent) {

element.attachEvent("on" + type, handler);

} else {

element["on" + type] = handler

}

}

//封装改变图片函数

function changeImg() {

for (var j = 0; j < len; j++) {

tabs[j].className = "";

pics[j].style.display = "none"

}

tabs[index].className = "active";

pics[index].style.display = "block"

}

//封装定时器函数

function startAutoPlay() {

timer = setInterval(function() {

index++;

if (index >= len) {

index = 0;

}

changeImg();

}, 3000)

}

//封装清除定时器函数

function stopAutoPlay() {

if (timer) {

clearInterval(timer)

}

}

//鼠标经过tab变颜色,且背景图变换

for (var i = 0; i < len; i++) {

tabs[i]["data-id"] = i;

addHandler(tabs[i], "mouseover", function() {

index = this["data-id"];

changeImg();

})

}

//开启自动轮播

startAutoPlay();

//鼠标滑入main,停止自动轮播

addHandler(main, "mouseover", stopAutoPlay);

//鼠标离开main,重新开启自动轮播

addHandler(main, "mouseout", startAutoPlay);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值