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 相关文章推荐
基于jquery的bankInput银行卡账号格式化
Aug 22 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
Jun 08 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
jQuery实现可移动选项的左右下拉列表示例
Dec 26 Javascript
js实现返回顶部效果
Mar 10 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
Oct 09 Javascript
JS实现的RC4加密算法示例
Aug 16 Javascript
微信小程序自定义带价格显示日历效果
Dec 29 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 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
一次编写,随处运行
2006/10/09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PHP实现文件上传与下载
2020/08/28 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
JavaScript中的Window窗口对象
2008/01/16 Javascript
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
开办饭店创业计划书
2013/12/28 职场文书
园艺师求职信
2014/04/27 职场文书
党员一帮一活动总结
2014/07/08 职场文书
毕业生评语大全
2015/01/04 职场文书
邀请函范文
2015/02/02 职场文书