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 相关文章推荐
兼容FF和IE的动态table示例自写
Oct 21 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
Feb 27 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
Sep 23 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
Sep 26 Javascript
详解利用Angular实现多团队模块化SPA开发框架
Nov 27 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
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
Laravel中注册Facades的步骤详解
2016/03/16 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
鼠标图片振动代码
2006/07/06 Javascript
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
django实现前后台交互实例
2017/08/07 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
python opencv之SIFT算法示例
2018/02/24 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python交易记录链的实现过程详解
2019/07/03 Python
Python使用进程Process模块管理资源
2020/03/05 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
numba提升python运行速度的实例方法
2021/01/25 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
晚宴邀请函范文
2014/01/15 职场文书
社区活动策划方案
2014/08/21 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
员工试用期工作总结
2019/06/20 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
详解TypeScript的基础类型
2022/02/18 Javascript