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高级程序设计 DOM学习笔记
Sep 10 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
Jun 03 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
js中scrollTop()方法和scroll()方法用法示例
Oct 03 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
Oct 10 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
聊聊Vue.js的template编译的问题
Oct 09 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 Javascript
mpvue 项目初始化及实现授权登录的实现方法
Jul 20 Javascript
基于element-ui封装表单金额输入框的方法示例
Jan 06 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五种设计模式小结
2011/03/23 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
PHP7变量处理机制修改
2021/03/09 PHP
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
python进阶教程之异常处理
2014/08/30 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
python中logging包的使用总结
2018/02/28 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
学生会竞聘书范文
2014/03/31 职场文书
董事长助理岗位职责
2015/02/11 职场文书
刑事上诉状范文
2015/05/22 职场文书
老乡会致辞
2015/07/28 职场文书
新员工入职感言范文!
2019/07/04 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript