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

news/2024/7/5 9:24:50

//声明变量

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);


http://www.niftyadmin.cn/n/4072653.html

相关文章

ospf相关知识整理

OSPF(Open Shortest Path First开放式最短路径优先&#xff09;是一个内部网关协议(Interior Gateway Protocol&#xff0c;简称IGP&#xff09;&#xff0c;用于在单一自治系统&#xff08;autonomous system,AS&#xff09;内决策路由。是对链路状态路由协议的一种实现&#…

江民KV2008离线包和安装包下载 2007-12-24

江民KV2008离线包和安装包下载专区最新病毒库日期&#xff08;智能升级&#xff09;&#xff1a;src"http://forum.jiangmin.com/BingDuKuRiQi1.asp?yansered" frameborder"no" width"100%" scrolling"no" height"22">离…

作业22-管理信息系统的开发与管理

带label的文本输入区域<label for""></label><textarea " id""></textarea> <div class"form-group"><label for"questionTitle">标题<br></label><textarea id"questi…

vista简体中文旗舰版(64位+32位)DVD光盘

图片&#xff1a; 图片&#xff1a; 图片&#xff1a; 图片&#xff1a; 图片&#xff1a; 图片&#xff1a; 32位版本&#xff1a;ftp://202.107.238.221/Share/System/Vista/cn_windows_vista_x86_dvd_X12-59648.iso 64位版本&#xff1a;ftp://202.107.238.221/Share/Syste…

Cocos2d-x移植android增加震动效果

cpp部分通过jni调用java静态函数 头文件&#xff1a; #include <jni.h> #include "cocos2d.h" #include "platform/android/jni/JniHelper.h" 在cpp类中定义方法去调用Cocos2dxSound.java中vibrate方法&#xff1a; static void vibrateJNI(long lon…

09-面向对象课堂笔记

复习 1.random random() | randint() | choice() | sample() 2.序列化&#xff1a;obj>str 反&#xff1a;str>obj 存储与传输采用的都是字符串类型 json&#xff1a;跨语言用于传输 -- 只有一个根&#xff1a;单一数据 | {}包裹的数据 | []包裹的数据 -- 复杂的数据都…

托盘图标提示

托盘图标提示[ 源文作者yefanqiu,由test发表于2004-10-17 19:19:11]     窗体代码 ************************************************************************* **模 块 名&#xff1a;frmTest **说 明&#xff1a;YFsoft 版权所有2004 - 2005(C) **创 建 人&#xff1…

CSS——什么是BFC?

昨天晚上看了BFC&#xff0c;写笔记记录一下。 CSS规范中对 BFC 的描述 9.4.1 块格式化上下文&#xff08;Block Formatting Context&#xff0c;BFC&#xff09; 浮动&#xff0c;绝对定位元素&#xff0c;非块盒的块容器&#xff08;例如&#xff0c;inline-blocks&#xff0…