JavaScript实现点击切换功能本⽂实例为⼤家分享了JavaScript实现点击切换功能的具体代码,供⼤家参考,具体内容如下在实际应⽤中,点击或者移⼊某⼀元素上,弹出下拉菜单或者页⾯,是⽹页设计的常见操作。下⾯我们实现⼀种点击菜单实现菜单切换,使⽤js提供三种⽅式实现该功能。
1.使⽤html设计基本结构
<body>
<h2>多Tab点击切换</h2>
<ul id="tab">
<li id="tab1" value="1">10元套餐</li>
<li id="tab2" value="2">30元套餐</li>
<li id="tab3" value="3">50元包⽉</li>
</ul>
<div id="container">
<div id="content1">
10元套餐详情:<br/> ;每⽉套餐内拨打100分钟,超出部分2⽑/分钟
</div>
<div id="content2" >
30元套餐详情:<br/> ;每⽉套餐内拨打300分钟,超出部分1.5⽑/分钟
</div>
<div id="content3" >
50元包⽉详情:<br/> ;每⽉⽆限量随⼼打
</div>
</div>
</body>
2.使⽤css设计基本样式
<style>
* {
margin: 0;
padding: 0;
}
#tab li {
float: left;
list-style: none;
width: 80px;
height: 40px;
line-height: 40px;
cursor: pointer;
text-align: center;
}
#container {
position: relative;
}
#content1, #content2, #content3 {
width: 300px;
height: 100px;
padding: 30px;
position: absolute;
top: 40px;
left: 0;
}
#tab1, #content1 {
background-color: #ffcc00;
}
#tab2, #content2 {
background-color: #ff00cc;
}
#tab3, #content3 {
background-color: #00ccff;
}
</style>
3.js实现点击切换功能
原生js和js的区别//原⽣js
var container=document.querySelectorAll('#container>div')
var event_li=document.querySelectorAll('#tab>li')
var currentindex=0
for(var i=0;i<event_li.length;i++){
event_li[i].num=i
event_li[i].onclick=function(){
container[currentindex].style.display='none'
var index_other=this.num
container[index_other].style.display='block'
currentindex=index_other
}}
//jQuery实现,点击⼀下⽗元素,⼦元素全部display_none,再将点击事件的元素的⼦元素设置为display_block
var $container=$('#container>div')
$('#tab>li').click(function(){
$container.css('display', 'none')
var index=$(this).index()
var index_other=$(this).val()-1
$container[index_other].style.display = 'block'
})
//jQuery实现,点击⼀下⽗元素,最开始的元素的⼦元素display_none,再将点击事件的元素的⼦元素设置为display_block
currentindex=0
$('#tab>li').click(function(){
$($container[currentindex]).css('display', 'none')
var index=$(this).index()
$container[index].style.display = 'block'
currentindex=index
})
4.总结
(1)、原⽣js就可以实现点击切换的功能,但是使⽤jQuery后更为容易,语法简单,却功能强⼤。
(2)、在⽐较2和3⽅法,可以看到第2法在触发点击事件后是将所有⼦元素设置的显⽰⽅式为none,显然在⼦元素较多时,此时要修改的次数也相应的增加,势必影响加载的性能,应该优化为3⽅法。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论