选项卡封装的函数

function tab (id,event,time,isCarrousel) {

var oBox1 = document.getElementById(id);

// 第一个子元素

var oTab = oBox1.children[0];

var aBtn1 = oTab.children;

// 第二个子元素

var oCon = oBox1.children[1];

var aDiv1 = oCon.children;

//下标

var count = 0;

// 延迟调用的timer;

var timer;

for (var i = 0;i < aBtn1.length;i++) {

aBtn1[i].index = i;

//添加事件的地方

aBtn1[i][event] = function () {

// 点击的时候,立马切换,onclick

// 鼠标移入的时候,隔500毫秒,onmouseover

if (event == 'onclick') {

count = this.index;

tab1();

} else {

//将this的值赋值给_this

var _this = this;

timer = setTimeout(function (){

// this -- > btn

count = _this.index;

tab1();

},time);

}

}

aBtn1[i].onmouseout = function () {

clearTimeout(timer);

}

}

if (isCarrousel == 'carrousel') {

//自动播放

var tid = setInterval(nextImg,1000);

oBox1.onmouseover = function () {

clearInterval(tid);

}

oBox1.onmouseout = function () {

clearInterval(tid);

tid = setInterval(nextImg,1000);

}

function nextImg () {

count++;

if (count == aBtn1.length) {

count = 0;

}

tab1();

}

}

//切换选项卡

function tab1 () {

//先清空所有的样式

//先清空所有的样式

for (var j = 0;j < aBtn1.length;j++) {

aBtn1[j].className = '';

aDiv1[j].style.display = 'none';

}

console.log(count);

// 0 1 2 3

// count = undefined

// aBtn1[count]: 获取不到button

aBtn1[count].className = 'active';

aDiv1[count].style.display = 'block';

}

}

window.onload = function () {

//第一个选项卡: 点击切换

tab('box1','onclick',0,'carrousel');

//第二个选项卡: 鼠标移入切换

tab('box2','onmouseover',1000);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • // 选项卡封装函数 functiontab(id,event,time,isCarrousel){ // id:...
    starjw阅读 385评论 0 0
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,853评论 2 17
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,776评论 0 33
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,109评论 1 10
  • 以前对吴三桂的认知仅限于他为了陈圆圆放清兵入关,圆了大清朝的统一大业。他的长子吴应熊是建宁公主的夫胥在京为...
    深海无言自幽蓝阅读 1,427评论 8 7