JavaScript实现点击切换功能


Posted in Javascript onJanuary 27, 2021

本文实例为大家分享了JavaScript实现点击切换功能的具体代码,供大家参考,具体内容如下

在实际应用中,点击或者移入某一元素上,弹出下拉菜单或者页面,是网页设计的常见操作。

下面我们实现一种点击菜单实现菜单切换,使用js提供三种方式实现该功能。

JavaScript实现点击切换功能

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" style="display: none">
 30元套餐详情:<br/> 每月套餐内拨打300分钟,超出部分1.5毛/分钟
 </div>
 <div id="content3" style="display: none">
 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
 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方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
提高网站性能之 如何对待JavaScript
Oct 31 Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
js处理php输出时间戳对不上号的解决方法
Jun 20 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
jquery遍历json对象集合详解
May 18 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
Jun 21 Javascript
JQuery Ajax WebService传递参数的简单实例
Nov 02 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
vue 实现复制内容到粘贴板clipboard的方法
Mar 17 Javascript
jQuery length 和 size()区别总结
Apr 26 jQuery
JSON字符串操作移除空串更改key/value的介绍
Jan 05 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 #Javascript
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 #Vue.js
vue实现轮播图帧率播放
Jan 26 #Vue.js
vue 组件基础知识总结
Jan 26 #Vue.js
深入了解Vue动态组件和异步组件
Jan 26 #Vue.js
如何在 Vue 表单中处理图片
Jan 26 #Vue.js
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 #Vue.js
You might like
PHP 中的类
2006/10/09 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
Backbone.js的一些使用技巧
2015/07/01 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 流程控制实例代码
2009/09/25 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
学生信息管理系统python版
2018/10/17 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
2015年端午节活动策划书
2015/05/05 职场文书
旅游项目合作意向书
2015/05/08 职场文书
银行培训心得体会范文
2016/01/09 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
javaScript Array api梳理
2021/03/31 Javascript
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python