JS控制的超简洁tab菜单

合集下载

js黑马程序员tab栏切换案例源代码

js黑马程序员tab栏切换案例源代码

标题:js黑马程序员tab栏切换案例源代码正文:一、案例背景在网页开发中,经常会遇到需要实现tab栏切换的需求,比如在产品详情页中,需要展示不同的产品参数、评价等内容。

为了提高用户体验,我们通常会采用js来实现tab栏切换,使用户可以方便地浏览不同内容。

今天,我们就来共享一个来自黑马程序员的tab栏切换案例源代码,帮助大家更好地理解和应用js实现tab栏切换功能。

二、案例代码以下是一个简单的tab栏切换案例代码,适用于html页面:```javascript<!DOCTYPE html><html><head><style>.tabContent{display:none;}.tabContent.active{display:block;}</style><script>function tabSwitch(tab,tabContent){var tabs = document.getElementsByClassName('tab');for(var i=0;i<tabs.length;i++){tabs[i].classList.remove('active');}tab.classList.add('active');var tabContents =document.getElementsByClassName('tabContent');for(var i=0;i<tabContents.length;i++){tabContents[i].classList.remove('active');}var currentTabContent =document.getElementById(tabContent);currentTabContent.classList.add('active');}</script></head><body><button class="tab active"onclick="tabSwitch(this,'tabContent1')">Tab 1</button> <button class="tab"onclick="tabSwitch(this,'tabContent2')">Tab 2</button> <button class="tab"onclick="tabSwitch(this,'tabContent3')">Tab 3</button><div id="tabContent1" class="tabContent active"> Content for tab 1 goes here.</div><div id="tabContent2" class="tabContent">Content for tab 2 goes here.</div><div id="tabContent3" class="tabContent">Content for tab 3 goes here.</div></body></html>```三、代码解析1. 在头部的style标签中,定义了.tabContent的样式为display:none,表示默认情况下内容是隐藏的;并且定义了.tabContent.active的样式为display:block,表示内容被激活时显示出来。

JS+CSS实现滑动切换tab菜单效果

JS+CSS实现滑动切换tab菜单效果

JS+CSS实现滑动切换tab菜单效果本⽂实例讲述了JS+CSS实现滑动切换tab菜单效果。

分享给⼤家供⼤家参考。

具体如下:这是风格简单的⼀款JS+CSS滑动门特效代码,当⿏标滑过菜单的时候,⼆级菜单⾃动切换,⿏标不需要点击,滑动门效果是个⽐较流⾏的⽹页菜单效果,在⽹上经常可看到这种菜单的⾝影。

本菜单在⽕狐、IE8、Chrome下测试通过,代码兼容性还可以,⾃⼰⽤的化再美化⼀下风格。

运⾏效果截图如下:在线演⽰地址如下:具体代码如下:<!doctype html><html xmlns="/1999/xhtml" xmlns:xlink="/1999/xlink" lang="zh_CN" xml:lang="zh_CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript">var $=function(a,b){var ID = document.getElementById(a);var OBJ= (b)?ID.getElementsByTagName(b):ID;return OBJ}var n=0;var tab = function(MENU,BODY){var l = MENU.length;for(var i=0;i<l;i++){MENU[i].onmouseover=function(a){return function(){MENU[n].className="label"BODY[n].style.display = "none";MENU[a].className="label label-selected";BODY[a].style.display = "block";n=a;}}(i);}}</script><style>body{font-family: "微软雅⿊","SimSun","宋体","Arial Narrow";}#header,#main,#footer{width: 1050px;background: #F1F9D9;margin: 5px auto;}#header{height: 50px;}#main{height: auto;}#footer{height: 50px;}#menu{height: 36px;padding: 2px 0 0 0;}li{list-style: none;cursor: pointer;}.category{margin: 0;height: 35px;border-bottom: 1px solid #b5e2f3;text-align: center;}.label{border: 1px solid #b5e2f3;float: left;width: 100px;height: 25px;margin: 0 3px;background: #F1FEF3;padding: 9px 0 0 0;outline: 0;-moz-border-radius: 5px 5px 0 0;} .label-selected{background: #FFF;border-bottom: 1px solid #FFF;}#linksContent{margin-top: -1;height: 600px;padding: 10px;border: 1px solid #b5e2f3;border-top: 0;background: #FFF;}.link{float: left;width: 180px;display: block;margin: 10px 0;}</style><title>myLinks</title></head><body><div id="container"><div id="header"></div><div id="main"><div id="menu"><ul class="category"><li class="label label-selected">在线学习</li><li class="label">运动休闲</li><li class="label">编程社区</li><li class="label">⽂化娱乐</li><li class="label">休息项⽬</li><li class="label">⼈际往来</li></ul></div><div id="linksContent"><div class="category-1" style="display:block;"><ul><li class="link"><span>html学习</span></li><li class="link"><span>编译原理</span></li><li class="link"><span>⼈⼯智能</span></li><li class="link"><span>算法设计</span></li></ul></div><div class="category-2" style="display:none;"><ul><li class="link"><span>开车</span></li><li class="link"><span>郊游</span></li><li class="link"><span>⾳乐</span></li></ul></div><div class="category-2" style="display:none;"><ul><li class="link"><span>MSDN</span></li><li class="link"><span>编译原理</span></li><li class="link"><span>科幻电影</span></li><li class="link"><span>技术⽂档</span></li></ul></div><div class="category-2" style="display:none;"><ul><li class="link"><span>java学习</span></li><li class="link"><span>html学习</span></li><li class="link"><span>编译原理</span></li><li class="link"><span>⼈⼯智能</span></li><li class="link"><span>算法设计</span></li></ul></div><div class="category-2" style="display:none;"><ul><li class="link"><span>html学习</span></li><li class="link"><span>编译原理</span></li><li class="link"><span>⼈⼯智能</span></li></ul></div><div class="category-2" style="display:none;"><ul><li class="link"><span>java学习</span></li><li class="link"><span>html学习</span></li><li class="link"><span>算法设计</span></li></ul></div></div></div><div id="footer"></div></div><script>tab($("menu","li"),$("linksContent","div"));</script></body></html>希望本⽂所述对⼤家的javascript程序设计有所帮助。

JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)

JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)

JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)本⽂实例讲述了JS实现滑动菜单效果代码。

分享给⼤家供⼤家参考。

具体如下:这⾥实现⼀个特效将⽹页中的选项卡滑动门都集中到⼀个⽹页中来,有些同志曾经为同⼀个页⾯布置两个滑动门⽽烦恼,参考⼀下本例⼦,相信你会找到答案,⽽且有各种排列⽅式的选项卡,总有⼀款会满⾜你。

运⾏效果截图如下:在线演⽰地址如下:具体代码如下:12345678910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="/1999/xhtml"lang="zh-CN"xml:lang="zh-CN"><head><title>选项卡</title><style type="text/css"><!--* { margin:0; padding:0; font-size:12px; font-weight:normal; }.jj { font-weight:bolder!important; }.box { border-top-color:#c00!important; }.pr { color:#060!important; }#tab01 { position:relative; width:336px; height:88px; padding-top:15px; margin:50px; overflow:hidden; }#tab01 h3 { position:relative; z-index:2; float:left; height:14px; padding:0 7px 0 8px; margin-left:-1px; border-left:solid 1px #ccc; border-right:solid1px #fff; text-align:center; background:#fff; cursor:pointer; }#tab01 h3.up { height:18px; padding:5px 7px 0 7px; margin:-6px 0 0 0; border:solid #ccc; border-width:1px 1px 0; color:#c00; }#tab01 div { display:none; position:absolute; left:0; top:32px; z-index:1; width:324px; height:54px; padding:5px; border:solid 1px #ccc; color:#666; } #tab01 div.up { display:block; }#tab02 { position:relative; width:200px; margin:50px; border:solid #ccc; border-width:0 1px 1px; }#tab02 h4 { height:18px; line-height:18px; border:solid #ccc; border-width:1px 0; margin-bottom:-1px; text-align:center; background:#f6f6f6; cursor:pointer; }#tab02 h4.up { color:#c00; }#tab02 ol { display:none; height:54px; padding:5px; color:#666; }#tab02 ol.up { display:block; }#tab03 { position:relative; width:100px; margin:50px; }#tab03 h3 { position:relative; z-index:1; height:16px; padding-top:4px; margin-bottom:-1px; border:solid #ccc; border-width:1px 0 1px 1px; text-align:center; font-family:宋体; background:#eee; cursor:pointer; }#tab03 h3.up { z-index:3; color:#c00; background:#fff; }#tab03 div.tab { display:none; position:absolute; left:99px; top:0; z-index:2; width:300px; height:200px; padding:5px; border:solid 1px #ccc; color:#666; }#tab03 div.tab.up { display:block; }--></style></head><body><div id="tab01"><h3>⾸页</h3><div class="jj"><p>嘿嘿,⽆视div原始class值。

如何使用JavaScript实现滑动菜单功能

如何使用JavaScript实现滑动菜单功能

如何使用JavaScript实现滑动菜单功能近年来,滑动菜单功能成为了网页设计中常见的一种交互方式。

通过使用JavaScript,我们可以轻松地实现滑动菜单功能,使用户体验更加直观和流畅。

首先,我们需要了解滑动菜单的基本原理。

滑动菜单其实就是一个包含多个选项的列表,在用户触发某个事件后,列表会从屏幕边缘滑出或者滑入。

通过改变列表的位置和大小,我们可以实现滑动菜单的动画效果。

要使用JavaScript实现滑动菜单功能,我们首先需要创建一个包含菜单选项的HTML结构。

可以使用无序列表(`<ul>`)和列表项(`<li>`)来创建菜单。

通过CSS样式,我们可以设置菜单的位置、大小、背景颜色等。

接下来,我们需要使用JavaScript来实现菜单的滑动效果。

首先,我们需要选择菜单元素,并为其添加事件监听器。

可以使用`querySelector()`方法或者`getElementById()`方法来获取菜单元素。

通过`addEventListener()`方法,我们可以监听鼠标点击事件或者触摸事件。

当用户触发菜单事件后,我们可以使用`classList`属性来改变菜单元素的类名。

通过给菜单元素添加或者移除特定的类名,我们可以改变菜单的位置和大小。

比如,可以使用类名`slide-in`来将菜单滑入屏幕,使用类名`slide-out`来将菜单滑出屏幕。

为了实现平滑的滑动效果,我们可以使用CSS的过渡(transition)属性。

通过在菜单元素的样式中添加过渡属性,我们可以设置菜单的动画时长和缓动函数。

这样,在菜单滑入或者滑出时,会有一个平滑的过渡效果。

除了基本的滑动功能,我们还可以给菜单添加更多的交互效果。

比如,可以使用`setTimeout()`函数来延迟菜单的滑动效果,使其在一定时间后才开始滑动。

另外,我们还可以通过监听滚动事件来自动隐藏或者显示菜单,提升页面的可用性。

在实现滑动菜单功能时,我们还需要考虑兼容性问题。

【原创】js实现一个可随意拖拽排序的菜单导航栏

【原创】js实现一个可随意拖拽排序的菜单导航栏

【原创】js实现⼀个可随意拖拽排序的菜单导航栏1.想做这个效果的原因主要是⽤在UC上看新闻发现他们的导航菜单很有趣。

⽆聊的时候在哪划着玩了很久。

所以就⼲脆⾃⼰写⼀个。

原效果如下2.整体效果如下,在已推荐和未添加⾥⾯每个⼩⽅块可以触摸移动位置互换。

未添加和已添加⾥⾯的⼩⽅块位置可以拖放。

3.结构分析。

整体结构⽤红线框标出。

可以分为三个部分。

关注底部拖拽部分。

⼀个div⾥⾯嵌套两个div.定位关系如图。

本次教程之作⼀个拖拽框1.好了,基本情况已经分析清楚先实现页⾯样式。

<div class="wrap"><div class="menu ">财经</div><div class="menu ">时尚</div><div class="menu ">国际</div><div class="menu ">娱乐</div><div class="menu ">军事</div><div class="menu ">搞笑</div><div class="menu ">科技</div><div class="menu ">游戏</div><div class="menu ">体育</div><div class="menu ">美图</div><div class="menu ">推荐</div><div class="menu ">社会</div><div class="menu ">微信</div><div class="menu ">健康</div><div class="menu ">军事</div><div class="clear"></div></div>css<style type="text/css">*{margin: 0;padding: 0;}.clear{clear: both;}.wrap{width: 380px;height: auto;zoom: 1;overflow: hidden;border: 1px solid #8E8E8E;margin-top:100px ;margin-left: 400px;padding-bottom: 20px;position: relative;}.menu{width: 70px;height: 30px;background-color: cornflowerblue;color: #FFFFFF;font-size: 16px;text-align: center;line-height: 30px;float: left;margin-left: 20px;margin-top: 10px;} .active{height: 28px;width: 68px;border: 1px dashed #8E8E8E;float: left;margin-left: 20px;margin-top: 10px;}.onclick{transform: scale(1.2);position: absolute;background-color:cornflowerblue ;line-height: 30px;height: 30px;width: 70px;text-align: center;color: #FFFFFF;}</style>界⾯如下样式完成了现在开始写js。

JS+CSS简洁的滑动门选项卡菜单

JS+CSS简洁的滑动门选项卡菜单

JS+CSS简洁的滑动门选项卡菜单<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""><html xmlns=""><head><title>JS+CSS简洁的滑动门/选项卡菜单丨芯晴网页特效丨</title><meta http-equiv="content-type" content="text/html;charset=gb2312"><style type="text/css">ul,li{margin:0;padding:0;}.tabBox{width:268px;margin:20px;}ul.tabTag{height:28px;border-bottom:1px solid #000;list-style:none}ul.tabTag li{float:left;line-height:27px;height:27px;padding:0 18px;color:#ccc;border:1px solid #ccc;border-bottom:none;margin-right:5px;background:#fff;cursor:pointer;} ul.tabTag li.active{border-color:#000;background:#eee;color:red;position:relative;top:1px;} .tabCon{border:1px solid #000;border-top:none;background:#fff;}.tCon{display:none;background:#eee;padding:25px;}</style><script type="text/javascript">/*Author: wubai,QQ:464216089,By: 2012.4.7*/function tabMenu(tabBox,navClass){vartabNavLi=document.getElementById(tabBox).getElementsByTag Name("ul")[0].getElementsByTagName("li");vartabCon=document.getElementById(tabBox).getElementsByTagN ame("div")[0].getElementsByTagName("div");var tabLens=tabCon.length;for(var i=0;i<tabLens;i++){//应用js闭包传入参数i作为当前索引值赋值给m(function(m){tabNavLi[m].onmouseover = function(){for(var j=0; j<tabLens; j++){tabNavLi[j].className = (j==m)?navClass:"";tabCon[j].style.display = (j==m)?"block":"";}}})(i);}}//函数调用window.onload=function(){tabMenu("tabBox1","active");tabMenu("tabBox2","active");}</script></head><body><!--demo1--><div id="tabBox1" class="tabBox"><ul class="tabTag"><li class="active">新闻1</li><li>体育1</li><li>财经1</li></ul><div class="tabCon"><div class="tCon" style="display:block">新闻1内容</div> <div class="tCon">体育1内容</div><div class="tCon">财经1内容</div></div></div><!--demo2--><div id="tabBox2" class="tabBox"><ul class="tabTag"><li class="active">新闻2</li><li>体育2</li><li>财经2</li></ul><div class="tabCon"><div class="tCon" style="display:block">新闻2内容</div> <div class="tCon">体育2内容</div><div class="tCon">财经2内容</div></div></div></body></html><br><br><hr><p align="center"><font color=black>本特效由<a href="" target="_blank">芯晴网页特效</a>丨 收集于互联网,只为兴趣与学习交流,不作商业用途。

JS-JQuery Tab选项卡

JS-JQuery Tab选项卡

JQuery Tab 选项卡特点:超简洁代码,可以无限扩展选项卡的个数。

缺点:不兼容IE6,其它浏览器兼容良好。

必须包含jquery文件:<script type="text/javascript" src="https:///ajax/libs/jquery/1.7.1/jquery.min.js"></script>Css code:<style type="text/css">div,ul,li,img,table,h1,h3,p,form{margin:0;padding:0;float:none;border:0;LIST-STYLE-TYPE:none;} body{font-size:13px; margin:0; color:#b4742c; font-family:microsoft YaHei,Arial, Helvetica, sans-serif; width:740px;}a{ color:#b4742c; text-decoration:none;}#nav{width:732px; height:auto; float:left;border:#dd9a3a solid 1px; margin:12px 0 0 8px;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px;}#nav ul{ display:inline;}#nav li{height:26px; line-height:26px; margin:5px; text-indent:8px; width:12%; float:left; text-align:center;}#nav li a{ display:block;}#nav li a:hover{ background:#EEE;}#nav .active a,#nav .active a:hover{ color:#000;background:#f6b043}#cont{ width:732px; height:auto; float:left;border:#dd9a3a solid 1px; margin:12px 0 0 8px;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px;color:#000; display:none;} }</style>JS code:<script type="text/javascript" language="javascript">$(document).ready(function(){$("#nav li").click(function(){ //click也可以换成其它的动作。

基于JavaScript技术的Tab面板设计与实现

基于JavaScript技术的Tab面板设计与实现
<div id="tab"> <div id="menu"> <ul> <li onmouseover="show (1)">
世界杯</li> <li onmouseover="show (2)">
军事</li>
娱乐</li>
<li onmouseover="show (3)">
新闻</li>
<li onmouseover="show (4)">
</div>
</div>
</body>
1.3 设置 CSS 样式
文中 CSS 的引用类型采用外联引用方式, 在外部的
tab_style1.css 文件中定义了各个 CSS 的属性袁 具体实现
代码及注释如下所示:
//清除页面所有空隙
*{
border: 0px;
padding: 0px;
margin: 0px;
渊1冤 建立一个站点袁 新建 HTML 网页袁 在页面中建 立两个 DIV 区块容器分别用于存放 Tab 标签和显示内 容袁 在 DIV 标签块中设计了 5 个标签分别为院 世界杯尧 军事尧 娱乐尧 新闻和视频袁 在内容 DIV 区块中重叠放 置 5 个标签的内容袁 此文以切图来代替网页基本元素遥
渊2冤 可通过设置 CSS 来改变页面的样式袁 在内容区 块中袁 每次只有一层可见袁 其他层设置为隐藏不可见袁 每次通过鼠标感应 Tab 标签袁 显示相应的内容遥 当鼠标 经过某一标签袁 此标签变为黄色背景袁 蓝色字体袁 其他

ES6学习笔记(三):教你用js面向对象思维来实现tab栏增删改查功能

ES6学习笔记(三):教你用js面向对象思维来实现tab栏增删改查功能

ES6学习笔记(三):教你⽤js⾯向对象思维来实现tab栏增删改查功能前两篇⽂章主要介绍了类和对象、类的继承,如果想了解更多理论请查阅《》、《》,今天主要来分享关于如何⽤js⾯向对象的思维来实现tab栏的⼀些相关的功能。

要实现的功能分析1. 点击tab栏可以切换效果2. 点击+号,可以添加tab项和内容项3. 点击X号,可以删除当前的tab项和内容项4. 点击tab⽂字或者内容项⽂字,可以修改⾥⾯的字体内容抽像对象: Tab对象(增删改查功能)实现功能效果如下图:⾸先建⽴⼀个class 类Tab:let thatclass Tab {constructor(id) {that=this// 获取元素this.main = document.getElementById('tab')//获取li的⽗元素this.ul = this.main.querySelector('.firstnav ul:first-child')// 获取section的⽗元素this.fSection = this.main.querySelector('.tabscon')this.add = this.main.querySelector('.tabadd')this.remove = this.main.querySelectorAll('i')this.init()}//初始化init() {this.updateNode()// init 初始化操作让相关的元素绑定事件this.add.onclick = this.addTabfor(var i = 0; i<this.lis.length; i++) {this.lis[i].index = ithis.lis[i].onclick = this.togggleTabthis.remove[i].onclick = this.removeTabthis.spans[i].ondblclick = this.editTabthis.sections[i].ondblclick = this.editTab}}//我们动态添加元素,删除元素时,需要从新获取对应的元素updateNode() {this.lis = this.main.querySelectorAll('li')this.sections = this.main.querySelectorAll('section')this.remove = this.main.querySelectorAll('i')this.spans = this.main.querySelectorAll('span')}//切换功能togggleTab() {}//清除li和section的class,主要实现切换功能⽤clearClass() {for(var i = 0; i< this.lis.length; i++) {this.lis[i].className = ''this.sections[i].className = ''}}//添加功能addTab() {}//删除功能removeTab(e) {}// 修改功能editTab() {}}let tab = new Tab('#tab')切换功能1. 点击上⾯的tab标题实现切换功能,下⾯对应的section也显⽰,其他的隐藏2. 实现思路,先去掉已有的选中class,3. 根据li的索引值,找到要显⽰的section,添加对应的class,使其显⽰实现的主要代码是:that.clearClass()this.className='liactive'that.sections[this.index].className='conactive'添加功能实现1. 点击+ 可以实现添加新的选项卡和内容2. 第⼀步:创建新的选项卡li和新的内容section3. 第⼆步:把创建的两个元素追加到对应的⽗元素中4. 以前的做法:动态创建元素createElement,但是元素⾥⾯内容较多,需要innerHTML赋值在appendChild追加到⽗元素⾥⾯5. 现在⾼级做法,利⽤insertAdjacentHTML()可以直接把字符串格式元素添加到⽗元素中,appendChild不⽀持追加字符串的⼦元素,insertAdjacentHTML⽀持追加字符串的元素实现功能的主要代码是://创建li元素和section元素that.clearClass()let li = ' <li class="liactive" ><span>新选项卡</span><i>X</i></li>'let section = '<section class="conactive">新内容区</setion>'that.ul.insertAdjacentHTML('beforeend', li)that.fSection.insertAdjacentHTML('beforeend',section)that.init()删除功能1. 点击X可以删除当前的选项卡和当前的section2. X是没有索引号的,但是它的⽗元素li有索引号,这个索引号正是我们想要的索引号3. 所以核⼼思路就是:点击x号可以删除这个索引号对应的li和section实现功能的主要代码是:e.stopPropagation();//阻⽌冒泡,let index = this.parentNode.index//根据索引号删除对应的li 和sectionthat.lis[index].remove()that.sections[index].remove()that.init()//当我们删除的不是选中状态的元素时,原来的选中状态保持不变if(document.querySelector('.liactive')) return//当我们删除了选中状态的⽣活,让它前⼀个li处于选中状态index--//⼿动调⽤click事件,不需要⿏标触发that.li[index] && that.lis[index].click()编辑功能1. 双击选项卡li或者section⾥⾯的⽂字,可以实现修改功能2. 双击事件是:ondblclick3. 如果双击⽂字,会默认选定⽂字,此时需要双击禁⽌选中⽂字4. window.getSelection?window.getSelection().removeAllRanges():document.selection.empty()5. 核⼼思路:双击⽂字的时候,在⾥⾯⽣成⼀个⽂本框,当失去焦点或者按下回车然后把⽂本输⼊的值给原先元素即可实现功能的主要代码是:let str = this.innerHTML//双击禁⽌选定⽂字window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty()this.innerHTML ='<input type="text" value="'+ str +'"/>'let input = this.children[0]//⽂本框⾥⾯的⽂字处于选中状态input.select()//当⿏标离开⽂本框就把⽂本框的值给spaninput.onblur = function() {this.parentNode.innerHTML=input.value}// 按回车键也饿可以把⽂本框⾥的值给spaninput.onkeyup = function(e) {if(e.keyCode === 13) {this.blur()}}总结这篇⽂章主要是通过我学习的技术总结后来分享了如何⽤⾯向对象的思路⽅法来实现tab栏的切换、编辑、增加、删除功能。

WEB编程之用javascript编写TAB面板

WEB编程之用javascript编写TAB面板

WEB编程之用javascript编写TAB面板:搜狐网、新浪网页中的TAB面板那么怎么用javascript来实现这样的效果呢,下面我教大家一个简单的实现方法。

我们事先做好两张这样的图片,一张是普通状态的一张是滑上去之后的。

让我们来看一下具体事先的代码:<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type"content="text/html;charset=gb2312"/> <title>无标题文档</title><style type="text/css">div#fa{background:#999999;height:200px;position:relative;clear:both; width:800px;}div#aa{height:200px;background:#FFFF99;position:absolute;left:0px; top:0px;width:200px;}div#bb{height:200px;background:#CC6666;position:absolute;left:0px; top:0px;width:200px;}a{display:block;float:left;width:77px;height:30px;margin-right:5px; text-align:center;line-height:25px;color:white;cursor:pointer;} </style><script type="text/javascript">function zk(dq,lw,cso,cst){var jsd=document.getElementById(dq);var jsl=document.getElementById(lw);var jso=document.getElementById(cso);var jst=document.getElementById(cst);jso.style.display="";jst.style.display="none";jsd.style.background="url(images/bghover.gif)";jsl.style.background="url(images/bg.gif)";}</script></head><body><div style="height:30px;"><a id="cc"style="background:url(images/bg.gif);" onmouseover="zk('cc','dd','aa','bb')">aaa</a><a id="dd"style="background:url(images/bg.gif);" onmouseover="zk('dd','cc','bb','aa')">bbb</a></div><div id="fa"><div id="aa"style="display:none;">aaaa aa</div><div id="bb"style="display:none;">bbb bb</div></div></body></html>这样就可以通过js和css的position属性实现这样的TAB面板了。

javascript采用数组实现tab菜单切换效果

javascript采用数组实现tab菜单切换效果

javascript采⽤数组实现tab菜单切换效果最近写了⼀个tab菜单,这个也算是web2.0的产物了,没什么技术含量,练练⼿⽽已.:<div id="a"><div id="head"><span id="tab1">vhc</span><span id="tab2">dsdfd</span>..........................<span id="blank"> </span></div><div id="body"></div></div>tab1,tab2就是内容,blank是填充剩下的.body是tab标签对应的内容.:复制代码代码如下:sx.activex.tabmenu={create:function(t){var a=document.createElement("div");var head=document.createElement("div");var body=document.createElement("div");var blank=document.createElement("span");a.style.height="200px";a.style.width="300px";//a.style.border="1px red solid";head.style.height="15%";//head.style.overflow="hidden";head.style.width="100%";blank.style.width=100-20*t.length+"%";blank.style.height="100%";blank.style.borderBottom="1px red solid";blank.style.lineHeight=parseInt(a.style.height)*0.15+"px";;body.innerHTML=t[0][1];body.style.height="85%";body.style.padding="10px";body.style.border="1px red solid";body.style.borderTop="0px";for(var i=0;i<t.length;i++){var tab=document.createElement("span");tab.style.border="1px red solid";tab.style.width="20%";tab.style.lineHeight=parseInt(a.style.height)*0.15+"px";tab.style.textAlign="center";tab.style.height="100%";tab.style.backgroundColor="yellow";tab.style.cursor="hand";tab.innerHTML=t[i][0];tab.onclick=function(r){return function(){for(var i1 in head.all){if(head.all[i1]!=this && head.all[i1].tagName=="SPAN")head.all[i1].style.borderBottom="1px red solid";this.style.borderBottom="0px";}body.innerHTML=t[r][1];}}(i);head.appendChild(tab);;}head.firstChild.style.borderBottom="0px";head.appendChild(blank);a.appendChild(head);a.appendChild(body);return a;}}传⼊的参数t是⼀个⼆维数组,⾥⾯是⼀个标签题⽬和标签内容的形式,调⽤⽅式如下: 复制代码代码如下:<html><head><title>Untitled Document</title></head><body><script src="kongjian.js"></script><script>var a=sx.activex.tabmenu.create([["asd","wewfrwefwe"],["we","dsfsdfsdf"]]); document.body.appendChild(a);</script></body></html>差不多完成了,有兴趣的朋友可以去测试下.。

JavaScript实现Tab标签页切换的最简便方式(4种)

JavaScript实现Tab标签页切换的最简便方式(4种)

JavaScript实现Tab标签页切换的最简便⽅式(4种)先说⼀下最⼟的⼀种⽅法:Html:<div class="tab-head"><h2 id="tab1" onmouseover="changeTab1()" class="selected">1</h2><h2 id="tab2" onmouseover="changeTab2()">2</h2><h2 id="tab3" onmouseover="changeTab3()">3</h2></div><div class="tab-content"><div id="c1" class="show">content1</div><div id="c2">content2</div><div id="c3">content3</div></div>CSS:h2 {border-top: solid cornflowerblue 1px;border-left: solid cornflowerblue 1px;width: 50px;height: 25px;margin: 0;float: left;text-align: center;}.tab-content {border: solid cornflowerblue 1px;width: 152px;height: 100px;}.tab-content div{display: none;}.selected {background-color: cornflowerblue;}.tab-content .show{display: block;}JS:var tab1 = document.getElementById('tab1'),tab2 = document.getElementById('tab2'),tab3 = document.getElementById('tab3'),c1 = document.getElementById('c1'),c2 = document.getElementById('c2'),c3 = document.getElementById('c3');function changeTab1() {tab1.className = 'selected';tab2.className = '';tab3.className = '';c1.className = 'show'c2.className = '';c3.className = '';}function changeTab2() {tab1.className = '';tab2.className = 'selected';tab3.className = '';c1.className = '';c2.className = 'show';c3.className = '';}function changeTab3() {tab1.className = '';tab2.className = '';tab3.className = 'selected';c1.className = ''c2.className = '';c3.className = 'show';}效果:实现Tab的切换,我们很容易想到的⼀种⽅式就是给每⼀个要控制的标签添加id,然后分别编写⿏标事件,使⽤id获取每个元素,精确地控制每个元素的样式。

JavaScript实现简易tab栏切换案例

JavaScript实现简易tab栏切换案例

JavaScript实现简易tab栏切换案例本⽂实例为⼤家分享了JavaScript实现简易tab栏切换效果的具体代码,供⼤家参考,具体内容如下1. tab栏-案例1tab栏分析li⾥⾯的分析js实现隐藏与显⽰排他思想:1)、所有元素全部清除样式(⼲掉其他⼈)2)、给当前元素设置样式(留下我⾃⼰)3)、注意顺序不能颠倒,⾸先⼲掉其他⼈,再设置⾃⼰我的思路:代码实现:<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>* {margin: 0;padding: 0;}li {list-style: none;}a {text-decoration: none;color: #666;}.vertical-tab {width: 980px;margin: 100px auto;}.vertical-tab .nav {width: 200px;list-style: none;}.vertical-tab .nav-tabs1 {float: left;border-right: 3px solid #e7e7e7;}.vertical-tab .nav-tabs2 {float: right;border-left: 3px solid #e7e7e7;}.vertical-tab li a {display: block;padding: 10px 20px;text-align: center;text-transform: uppercase;letter-spacing: 1px;font-size: 18px;font-weight: 700;}.vertical-tab .active {color: #198df8;}.vertical-tab .tabs {width: 500px;float: left;}.vertical-tab .tab-content {padding: 10px 20px;text-transform: uppercase;letter-spacing: 1px;}.vertical-tab .tab-content h3 {color: #333;margin: 0 0 10px 0;}.vertical-tab .tab-content p {font-size: 12px;}.vertical-tab .hidden {display: none;}</style></head><body><div class="vertical-tab"><ul class="nav nav-tabs1"><li><a href="javascript:;" class="active" index="1">section 1</a></li> <li><a href="javascript:;" index='2'>section 2</a></li><li><a href="javascript:;" index="3">section 3</a></li></ul><div class="tab-content tabs"><div class="tab-content1"><h3>section 1</h3><p>content 1</p></div><div class="tab-content1 hidden"><h3>section 2</h3><p>content 2</p></div><div class="tab-content1 hidden"><h3>section 3</h3><p>content 3</p></div><div class="tab-content1 hidden"><h3>section 4</h3><p>content 4</p></div><div class="tab-content1 hidden"><h3>section 5</h3><p>content 5</p><div class="tab-content1 hidden"><h3>section 6</h3><p>content 6</p></div></div><ul class="nav nav-tabs2"><li><a href="javascript:;" index="4">section 4</a></li><li><a href="javascript:;" index="5">section 5</a></li><li><a href="javascript:;" index="6">section 6</a></li></ul></div><script>var as = document.querySelectorAll("a")var item = document.querySelectorAll(".tab-content1")console.log(as)// console.log(lis)for (var i = 0; i < as.length; i++) {as[i].addEventListener('click', function() {// ⼲掉其他⼈for (var j = 0; j < as.length; j++) {as[j].className = ''}// 留下⾃⼰this.className = "active"// 显⽰内容var index = this.getAttribute('index')console.log(index)// ⼲掉其他⼈for (var i = 0; i < item.length; i++) {item[i].style.display = "none"}// 留下⾃⼰item[index - 1].style.display = "block"})}</script></body></html>vue实现vue实现起来相对简单,只需要灵活运⽤v-if和v-for具体代码:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>* {margin: 0;padding: 0;}.vertical-tab {width: 920px;margin: 100px auto;}.vertical-tab .nav {list-style: none;width: 200px;}.vertical-tab .nav-tabs1 {border-right: 3px solid #e7e7e7;}.vertical-tab .nav-tabs2 {border-left: 3px solid #e7e7e7;}.vertical-tab .nav a {display: block;font-size: 18px;font-weight: 700;text-align: center;letter-spacing: 1px;text-transform: uppercase;padding: 10px 20px;margin: 0 0 1px 0;text-decoration: none;}.vertical-tab .tab-content {color: #555;background-color: #fff;font-size: 15px;letter-spacing: 1px;line-height: 23px;padding: 10px 15px 10px 25px;display: table-cell;position: relative;}.vertical-tab .nav-tabs1 {float: left;}.vertical-tab .tabs {box-sizing: border-box;float: left;}.vertical-tab .tab-content h3 {font-weight: 600;text-transform: uppercase;margin: 0 0 5px 0;}.vertical-tab .nav-tabs2 {float: right;}.tab-content {position: relative;}.tab-content .tab-pane {position: absolute;top: 10px;left: 20px;}.nav li.active a {color: #198df8;background: #fff;border: none;}.fade {opacity: 0;transition: all .3s linear;}.fade.active {opacity: 1;}</style></head><body><div class="vertical-tab" id="app"><!-- Nav tabs --><ul class="nav nav-tabs1"><li v-on:click='change(index,0)' :class='currentIndex==index?"active":""' v-if="index < list.length/2" v-for="(item, index) in list"><a href="#" rel="external nofollow" rel="external nofollow" > {{item.title}} </a></li> </ul><!-- Tab panes --><div class="tab-content tabs"><div class="tab-pane fade" :class='currentIndex==index?"active":""' :key='item.id' v-for='(item, index) in list'><h3>{{item.title}}</h3><p>{{item.content}}</p></div></div><!-- Nav tabs --><ul class="nav nav-tabs2"><li v-on:click='change(index,1)' :class='currentIndex==index?"active":""' v-if="index >= list.length/2" v-for="(item, index) in list"><a href="#" rel="external nofollow" rel="external nofollow" > {{item.title}} </a></li> </ul></div><script type="text/javascript" src="js/vue.js"></script><script>new Vue({el: "#app",data: {currentIndex: 0, // 选项卡当前的索引list: [{id: 1,title: 'Section 1',content: 'content1'}, {id: 2,title: 'Section 2',content: 'content2'}, {id: 3,title: 'Section 3',content: 'content3'}, {id: 4,title: 'Section 4',content: 'content4'}, {id: 5,title: 'Section 5',content: 'content5'}, {id: 6,title: 'Section 6',content: 'content6'}]},methods: {change(index, flag) {if (flag) {console.log(index)this.currentIndex = index;} else {this.currentIndex = index;}}}})</script></body>如果⼤家还想深⼊学习,可以点击两个精彩的专题:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

JS实现Tab栏切换案例

JS实现Tab栏切换案例

JS实现Tab栏切换案例要求:当⿏标点击上⾯相应的选项卡(tab),下⾯页⾯的内容也随之⽽改变。

结构分析: 全部的内容都放到⼀个⼤的盒⼦⾥⾯,盒⼦⾥⾯⼜可以分为上⾯和下⾯两个盒⼦。

上⾯的盒⼦放了 5个li,装着5个⼩的选项卡,默认会有⼀个被选中; 下⾯的盒⼦也包含了 5个 div 模块,模块内容与上⾯的选项⼀⼀对应,当前默认的只有第⼀个 div会被显⽰出来。

实现思路:点击切换选项卡部分Tab 栏切换有2个⼤的模块1、上⾯模块的选项卡,点击某⼀个,改变当前样式,底⾊变为红⾊,字体颜⾊变为⽩⾊。

⽽其他的选项卡样式不发⽣改变(排他思想)通过修改类名的⽅式实现。

2、下⾯模块的内容,会随着上⾯的选项卡变化。

所以下⾯模块变化写到点击事件⾥⾯。

规律:下⾯的模块显⽰的内容和上⾯选项卡⼀⼀对应,相匹配。

核⼼思路:给上⾯模块⾥⾯所有的 li 添加⾃定义属性,属性值从 0 开始作为索引号。

排他思想:通过 for循环遍历数组中的元素,进⼊循环之后⾸先消除所有部分的样式,接着再为所点击的当前部分添加样式。

通过setAttribute(name,value)创建⾃定义属性,name指的是为元素设置的⾃定义属性,value为⾃定义属性添加的属性值。

通过 getAttribute(name)获取元素的属性。

name是属性的名称。

默认第⼀个选项卡对应的下⾯模块是显⽰的,需要在添加⾏内样式(style='display:block')因为CSS⾏内样式的优先级⾼于外部样式,会优先显⽰。

⽽(items[index].style.display = 'block';)这⼀句也相当于创建了⾏内样式。

实现代码:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Tab栏切换</title><style>*{margin:0;padding:0;}.tab{width:800px;height:45px;border:1px solid #ccc;border-bottom:1px solid #c81623;background: #fafafa;position:relative;margin:100px auto;}.tab_list li{width:160px;height:45px;list-style:none;line-height:45px;text-align: center;float:left;}.tab_list .current{background-color:#c81623;color:#fff;}.item{width:800px;height: 200px;padding-top:40px;/*line-height:200px;*/font-size: 30px;color:#fff;text-align: center;text-shadow:2px 2px 4px #000000;background: #efefef;/*opacity: 0.8;*/top:47px;position:absolute;}</style></head><body><div class='tab'><div class='tab_list'><ul><li class='current'>个性推荐</li><li>歌单</li><li>主播电台</li><li>排⾏榜</li><li>歌⼿</li></ul></div><div class='tab_con'><div class="item one" style='display:block'>每⽇歌曲推荐</div><div class="item two">精品歌单倾⼼推荐,给最懂⾳乐的你</div><div class="item thr">上瘾烟嗓情感之声</div><div class="item fou">新歌飙升榜</div><div class="item fiv">歌⼿排⾏榜</div></div></div><!-- tab 栏切换有2个模块模块的选项卡,点击其中的某⼀个,被点击的这⼀个底⾊将变成红⾊的,其余的不变(排他思想)使⽤修改类的名称的⽅式。

JavaScript实现tab栏切换的效果

JavaScript实现tab栏切换的效果

JavaScript实现tab栏切换的效果tab栏:点击不同的标签,显⽰不同的内容,被点击的标签样式发⽣改变(突出选中的是哪⼀个)实现思路:1、将tab栏分为上下两部分,上⾯是导航列表,下⾯是各部分对应的内容。

把标签和内容都写出来,内容按照标签顺序依次顺着写,给标签都添加⾃定义属性- - -index,属性值从0开始,依次增加12、⾸先实现上⾯的效果,点击后样式切换,被点击的字体颜⾊、背景颜⾊改变等:①css定义⼀个类eg:current,⾥⾯定义改变后的样式,先给第⼀个标签写⼀个该类名,其他的不写类名,②js获取所有标签元素对象,- - -for循环- - -遍历给每个标签绑定- - -onclick点击事件③点击事件⾥⾯使⽤排他算法- - -for循环- - -将所有标签设置类名为空- - -className = ‘' ,然后当前被点击的标签设置上⾯定义的特殊类名- - -this.className = ‘current';3、实现下⾯,根据点击的标签,出现不同的内容:①css将第⼀个标签对应内容显⽰,其他的都隐藏起来:.box-tb .item:nth-child(n+2) {display: none;}②获取内容的全部元素对象,获取标签的index值,在点击事件⾥再添加⼀个排他思想代码- - -for循环- - -遍历内容的元素对象,将所有内容设置隐藏- - -items[i].style.display = ‘none';然后根据被点击的标签,将对应的内容显⽰- - -items[index].style.display = ‘block';代码⽰例:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>tab栏切换</title><style>* {margin: 0;padding: 0;}li {list-style: none;}.box {width: 600px;margin: 100px auto;}.box-th {overflow: hidden;width: 100%;background-color: #88ace6;}.box-th ul li {float: left;width: 90px;height: 20px;margin-right: 10px;padding: 5px;text-align: center;}.current {color: #fff;background-color: green;}.box-tb {margin-top: 20px;}.box-tb .item:nth-child(n+2) {display: none;}</style></head><body><div class="box"><div class="box-th"><ul><li data-index="0" class="current">春</li><li data-index="1">夏</li><li data-index="2">秋</li><li data-index="3">冬</li></ul></div><div class="box-tb"><div class="item">春季排四季之⾸,新的轮回从此开启。

原生js+css实现tab切换功能

原生js+css实现tab切换功能

原⽣js+css实现tab切换功能本⽂实例为⼤家分享了原⽣css+js实现tab切换功能的具体代码,供⼤家参考,具体内容如下现在很多的ui框架都集成了tab功能,使⽤过程中只需按照他们的api套⽤即可,但在有时jquery项⽬中会觉得为了⼀个tab功能再单独调⽤⼀个ui库有些⼩题⼤做,所以博主这⾥推荐了原⽣tab的实现分析:通过display属性控制每⼀个tab的显⽰以下是图⽚⽰例:以下是代码部分:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><script src="./jquery-3.4.1.min.js"></script><title>tab功能实现</title><style>body {margin: 0 auto;}.tab-menu {width: 100%;background: #F5F6F8;display: flex;}.tab-menu-span {width: 150px;height: 50px;line-height: 50px;cursor: pointer;text-align: center;}.tab-menu-span-hover {background: #0054A7;color: #ffffff;}.tab-list {position: relative;}.tab-list-span {padding: 20px 10px;height: 200px;position: absolute;top: 0;display: none;}</style></head><body><div class="tab-class"><!-- 菜单 --><div class="tab-menu"><div class="tab-menu-span">菜单⼀</div><div class="tab-menu-span">菜单⼆</div><div class="tab-menu-span">菜单三</div></div><!-- tab list --><div class="tab-list"><div class="tab-list-span">1、⾦⼦啊,你是多么神奇。

JS实现仿苹果底部任务栏菜单效果代码

JS实现仿苹果底部任务栏菜单效果代码

JS实现仿苹果底部任务栏菜单效果代码本⽂实例讲述了JS实现仿苹果底部任务栏菜单效果代码。

分享给⼤家供⼤家参考。

具体如下:这款仿苹果电脑的底部任务栏菜单,是纯JavaScript实现的菜单特效,⿏标放上有响应效果,菜单图标会变⼤,⽽且动画效果⾮常流畅,以前发过这种效果,但是是使⽤了jQuery实现的,今天这个没有jQuery插件哦。

运⾏效果截图如下:在线演⽰地址如下:具体代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>仿苹果电脑任务栏菜单</title><style type="text/css">body{margin:0;padding:0}#menu{position:absolute;width:100%;bottom:0;text-align:center;}</style><script type="text/javascript">window.onload = function (){var oMenu = document.getElementById("menu");var aImg = oMenu.getElementsByTagName("img");var aWidth = [];var i = 0;//保存原宽度, 并设置当前宽度for (i = 0; i < aImg.length; i++){aWidth.push(aImg[i].offsetWidth);aImg[i].width = parseInt(aImg[i].offsetWidth / 2);}//⿏标移动事件document.onmousemove = function (event){var event = event || window.event;for (i = 0; i < aImg.length; i++){var a = event.clientX - aImg[i].offsetLeft - aImg[i].offsetWidth / 2;var b = event.clientY - aImg[i].offsetTop - oMenu.offsetTop - aImg[i].offsetHeight / 2;var iScale = 1 - Math.sqrt(a * a + b * b) / 300;if (iScale < 0.5) iScale = 0.5;aImg[i].width = aWidth[i] * iScale}};};</script></head><body><div id="menu"><img src="images/1.png" /><img src="images/2.png" /><img src="images/3.png" /><img src="images/4.png" /><img src="images/5.png" /><img src="images/6.png" /><img src="images/7.png" /><img src="images/8.png" /></div></body></html>希望本⽂所述对⼤家的javascript程序设计有所帮助。

JS实现图文并茂的tab选项卡效果示例【附demo源码下载】

JS实现图文并茂的tab选项卡效果示例【附demo源码下载】

JS实现图⽂并茂的tab选项卡效果⽰例【附demo源码下载】本⽂实例讲述了JS实现图⽂并茂的tab选项卡效果。

分享给⼤家供⼤家参考,具体如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta charset="UTF-8"><title>JS打造的⼀个图⽂并茂的选项卡代码</title><script type="text/javascript"><!--//--><![CDATA[//><!--//为选项卡的默认值进⾏设定,⽅法为读取cardBar⾥⾯的li标签是否已经有selected属性,如果没有则使⽤默认值。

function loadTab(){//读取cardBar下⾯所有li标签var getId=document.getElementById("cardBar").getElementsByTagName("li");//定义⼀个判断是否有selected的变量var selectedItems=0;//判断⽅法,循环读出li标签的className,如果有则selectedItems加1for(i=0;i<getId.length;i++){if (getId[i].className == "Selected"){selectedItems+=1;}}//经过循环,如果selectedItems没有数值,那么说明没有selected的标签,因此给标签加上默认的classNameif (selectedItems==0){document.getElementById("cardBar").getElementsByTagName("li")[0].className="Selected";document.getElementById("Dcard1").style.display="block";}}//让窗⼝打开就运⾏他window.onload=loadTab;//设定结束//进⾏选项卡效果的触发function switchTab(cardBar,cardId){//读取cardBar下⾯所有li标签var oItems = document.getElementById(cardBar).getElementsByTagName("li");//循环清空li标签下⾯的selected效果for (i=0;i<oItems.length;i++ ){var x=oItems[i];x.className="";var y=x.getElementsByTagName("a");y[0].style.color="#333";}//开始选项卡效果的赋值,为选中的li标签增加selected类的属性document.getElementById(cardId).className="Selected";//读出cardContent 下⾯的所有div标签var dvs=document.getElementById("cardContent").getElementsByTagName("div");//循环,判断应该显⽰的divfor (i=0;i<dvs.length;i++ ){if (dvs[i].id==("D"+cardId)){dvs[i].style.display="block";}else{dvs[i].style.display="none";}}}//--><!]]></script><style type="text/css"><!--/*--><![CDATA[/*><!--*/body {margin:0 auto;padding:0;font:62.5%/2em "MingLiu" Arial;text-align:center;}img, a img {border:0;display:block;}.clearfix:after {content:".";display:block;height:0;clear:both;visibility:hidden;}.clearfix {display:inline-block;}/* Hides from IE-mac \*/* html .clearfix {height:1%;}.clearfix {display:block;}/* End hide from IE-mac */.tab {width:50%;margin:0 auto;}.nav, .nav li a, .hackBox {list-style:none;border:1px solid #ccc;}.nav {position:relative;margin:1em 0 0;border-width:0 0 1px;}.nav li {float:left;margin:0 .3em;}.nav li a {position:relative;display:block;float:left;margin:0 0 -1px;padding:0 .8em;background:#eee;color:#666;font-size:1.1em;line-height:1.8em;text-decoration:none;}/*- .nav li a:hover, -*/ .nav li.Selected a {border-bottom-color:#fff;background:#fff;color:#000;line-height:2em;}/*对点击下栏显⽰边框的代码进⾏美化*/.hackBox {display:none;padding:1em 0 0;border-width:0 1px 1px;}.hackBox p {margin:0 1em 1em;color:#333;font-size:1.1em;text-align:left;}.hackBox img {float:left;width:100px;margin:0 .8em .4em 0;}/*]]>*/--></style></head><body><div class="tab"><ul class="nav clearfix" id="cardBar"><li id="card1"><a href="#" title="" onclick="javascript:switchTab('cardBar','card1');">⽣死的轮回</a></li><li id="card2"><a href="#" title="" onclick="javascript:switchTab('cardBar','card2');">逝去的吉他</a></li><li id="card3"><a href="#" title="" onclick="javascript:switchTab('cardBar','card3');">解读黄家驹</a></li><li id="card4"><a href="#" title="" onclick="javascript:switchTab('cardBar','card4');">谁伴我闯荡</a></li><li id="card5"><a href="#" title="" onclick="javascript:switchTab('cardBar','card5');">骄阳岁⽉</a></li><li id="card6"><a href="#" title="" onclick="javascript:switchTab('cardBar','card6');">吉他低泣时</a></li></ul><div id="cardContent"><div id="Dcard1" class="hackBox"><p><img src="images/165.jpg" alt="" />主流⾳乐对他来说,不过是⼩菜⼀碟的⽜⼑⼩试,但⼀样做得出⾊,⽽更多才华没来得及表现就被区区三⽶距离断送了。

js设置组合快捷键tabindex功能的方法

js设置组合快捷键tabindex功能的方法

js设置组合快捷键tabindex功能的⽅法快捷键在⽇常的使⽤还是挺多的,例如熟悉的粘贴ctrl+v,复制 ctrl+c,使⽤快捷键能提⾼我们的做事效率,特别是当我们熟悉了⼀种操作后,再次使⽤它来进⾏操作就会变得很⽅便,很顺⼿,对于使⽤键盘的重度⽤户,键盘永远⽐⿏标来的快。

就是利⽤tab来轻松的控制页⾯中的链接和表单元素它的⽤法很简单:obj.tabindex = tabindex; 这个tabindex 的值,按照w3c 的规定可以从0开始⼀直到32767本质就是获得你要设置的这个键的keyCode 的值,如果要加ctrl,alt,shift,那么就添加⼀个ctrlkey,altKey,shiftKey来判断下,所以关键在于keycode的值if (e.ctrlKey && e.keyCode == 13){return submit();}if (e.altKey&& e.keyCode == 37){return submit();}if (e.shiftKey&& e.keyCode == 37){return submit();}ter 提交if (e.keyCode == 13){return submit();}这⾥附加⼀些常见的快捷键:keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode 12 = Clearkeycode 13 = Enterkeycode 16 = Shift_Lkeycode 17 = Control_Lkeycode 18 = Alt_Lkeycode 19 = Pausekeycode 20 = Caps_Lockkeycode 27 = Escape Escapekeycode 32 = space spacekeycode 33 = Priorkeycode 34 = Nextkeycode 35 = Endkeycode 36 = Homekeycode 37 = Leftkeycode 38 = Upkeycode 39 = Rightkeycode 40 = Downkeycode 41 = Selectkeycode 42 = Printkeycode 43 = Executekeycode 45 = Insertkeycode 46 = Deletekeycode 47 = Help注意:浏览器的兼容性问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<!-----您只需要复制粘贴下面的代码到txt中,然后将后缀名改成.html就可以使用了------><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT="li"><META NAME="Keywords" CONTENT="li"><META NAME="Description" CONTENT="li"></HEAD><BODY><STYLE type=text/css>.sec1 {BORDER-RIGHT: gray 1px solid; BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; CURSOR: hand; COLOR: #000000; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: #eeeeee}.sec2 {BORDER-RIGHT: gray 1px solid; BORDER-TOP: #ffffff 1px solid; FONT-WEIGHT: bold; BORDER-LEFT: #ffffff 1px solid; CURSOR: hand; COLOR: #000000; BACKGROUND-COLOR: #d4d0c8}.main_tab {BORDER-RIGHT: gray 1px solid; BORDER-LEFT: #ffffff 1px solid; COLOR: #000000; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: #d4d0c8}</STYLE><!--JavaScript部分--><SCRIPT language=javascript>function secBoard(n){for(i=0;i<secTable.cells.length;i++)secTable.cells[i].className="sec1";secTable.cells[n].className="sec2";for(i=0;i<mainTable.tBodies.length;i++)mainTable.tBodies[i].style.display="none";mainTable.tBodies[n].style.display="block";}</SCRIPT><!--HTML部分--><TABLE id=secTable cellSpacing=0 cellPadding=0 width=549 border=0><TBODY><TR align=middle height=20><TD class=sec2 onclick=secBoard(0) width="10%">关于TBODY标记</TD><TD class=sec1 onclick=secBoard(1) width="10%">关于cells集合</TD><TD class=sec1 onclick=secBoard(2) width="10%">关于tBodies集合</TD><TD class=sec1 onclick=secBoard(3)width="10%">关于display属性</TD></TR></TBODY></TABLE><TABLE class=main_tab id=mainTable height=240 cellSpacing=0cellPadding=0 width=549 border=0><!--关于TBODY标记--><TBODY style="DISPLAY: block"><TR><TD vAlign=top align=middle><BR><BR><TABLE cellSpacing=0 cellPadding=0 width=490 border=0><TBODY><TR><TD>指定行做为表体。

<BR>注释:TBODY要素是块要素,并且需要结束标签。

<BR>即使如果表格没有显式定义TBODY要素,该要素也提供给所有表。

<BR><BR>参考:《动态HTML参考和开发应用大全》(人民邮电出版社Microsoft Corporation著北京华中兴业科技发展有限公司译)<BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY><!--关于cells集合--> <TBODY style="DISPLAY: none"><TR><TD vAlign=top align=middle><BR><BR><TABLE cellSpacing=0 cellPadding=0 width=490 border=0><TBODY><TR><TD>检索表行或者整个表中所有单元格的集合。

<BR>应用于TR、TABLE。

<BR><BR>参考:《动态HTML参考和开发应用大全》(人民邮电出版社Microsoft Corporation著北京华中兴业科技发展有限公司译)<BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY><!--关于tBodies集合--><TBODY style="DISPLAY: none"><TR><TD vAlign=top align=middle><BR><BR><TABLE cellSpacing=0 cellPadding=0 width=490 border=0><TBODY><TR><TD>检索表中所有TBODY对象的集合。

对象在该集合中按照HTML源顺序排列。

<BR>应用于TABLE。

<BR><BR>参考:《动态HTML参考和开发应用大全》(人民邮电出版社Microsoft Corporation著北京华中兴业科技发展有限公司译)<BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY><!--关于display属性--><TBODY style="DISPLAY: none"><TR><TD vAlign=top align=middle><BR><BR><TABLE cellSpacing=0 cellPadding=0 width=490 border=0><TBODY><TR><TD>设置或者检索对象是否被提供。

<BR>可能的值为block、none、inline、list-item、table-header-group、table-footer-group。

<BR>该特性可读写,块要素默认值为block,内联要素默认值为inline;层叠样式表(CSS)属性不可继承。

<BR><BR>参考:《动态HTML参考和开发应用大全》(人民邮电出版社Microsoft Corporation著北京华中兴业科技发展有限公司译)<BR><BR><Ahref="#"target=_blank>点击此处</A>可参阅abc<Ahref="#"target=_blank>我的在线</A>上的解释。

</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>。

相关文档
最新文档