【JS】Tab面板

作者: 德育处主任 | 来源:发表于2018-06-28 15:07 被阅读16次
微信订阅号:Rabbit_svip 微信订阅号:Rabbit_svip

HTML代码

<input type="button" value="1">
<input type="button" value="2">
<input type="button" value="3">
<div class="d1">d1</div>
<div class="d2">d2</div>
<div class="d3">d3</div>

JS代码

var aInput = document.getElementsByTagName('input');
var div = document.getElementsByTagName('div');

function show(a) {
    return function() {
        for(var j = 0; j<div.length; j++) {
            if(j != a) {
                div[j].style.display = 'none';
            }
            div[a].style.display = 'block';
        }
    }
}

for(var i = 0; i<aInput.length; i++) {
    aInput[i].onclick = show(i);
}


CSS自己调。

这个简单的Tab面板切换,需要注意的地方是用了2个for循环。

for(var i = 0; i<aInput.length; i++) {
    aInput[i].onclick = show(i);
}

这个循环的作用是为每个input标签绑定一个点击事件。之所以要在点击之后还要调用另一个函数,是因为for循环的执行速度太快了,在点击button之后的瞬间,i就变成了3。如果不调用另一个函数,而是在onclick之后就等于一个function,出现的情况是不管点哪个button,最后显示的都会是最后一个面板。

for(var i = 0; i<aInput.length; i++) {
    aInput[i].onclick = function() {
        console.log(i);
    }
};



如果代码是这样,可以看到最后输出的都是 3 。

微信订阅号:Rabbit_svip

所以正确方法是在绑定onclick之后,通过传参,把点击那刻 i 的值传给show()函数。然后再通过 show() 函数去设置该显示哪个div。

相关文章

  • 【JS】Tab面板

    HTML代码 JS代码 CSS自己调。 这个简单的Tab面板切换,需要注意的地方是用了2个for循环。 这个循环的...

  • PS 快速入门(第一天)

    PS 快速入门 显示/隐藏浮动面板:Shift + Tab; 显示/隐藏工具箱、选项、浮动面板:Tab; (工作区...

  • 【Vue】Tab面板

    HTML代码 JS代码 CSS样式自己随便写。 Vue.js自行下载导入。 js的代码 通过data,创建Tab标...

  • vue tab面板

    最近比较火的前端mvvm框架分别是angular、react和vue。作为一个合格的程序员,如果不掌握这些mvvm...

  • UI 设计之路---ps基础入门

    1. 打开面板操作:F7 --- (面板:图层 通道 路径) 2.屏蔽面板操作:快捷键Tab(收起面板) 3...

  • PS CC 2017 快捷键总结

    一、界面操作 1)浮动面板: 显示/隐藏浮动面板:Shift + Tab; 显示/隐藏工具箱、选项、浮动面板:Ta...

  • 产品原型设计干货(第二期)

    小老弟简述一下吧:使用动态面板进行不同tab标签的切换,另外利用动态面板进行tab标签的顺滑位移并对点击的状态进行...

  • 1.Axure动态面板之轮播图显示

    Axure中动态面板常用来实现交互效果,如: 使用动态面板制作轮播图。 使用动态面板制作tab页面切换。 使用动态...

  • tab标签手动切换 延时切换 自动切换 源代码

    html css js代码部分:tab手动切换 tab延时切换 tab标签自动切换

  • js键盘事件对应键码

    常用js键码 keyCode 8 = BackSpace BackSpacekeyCode 9 = Tab Tab...

网友评论

本文标题:【JS】Tab面板

本文链接:https://www.haomeiwen.com/subject/ltigyftx.html