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 相关文章推荐
类似GMAIL的Ajax信息反馈显示
Feb 16 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 Javascript
JQuery的Ajax跨域请求原理概述及实例
Apr 26 Javascript
javascript事件函数中获得事件源的两种不错方法
Mar 17 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 Javascript
javaScript中push函数用法实例分析
Jun 08 Javascript
微信小程序实现顶部选项卡(swiper)
Jun 19 Javascript
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
Vue动态加载异步组件的方法
Nov 21 Javascript
layui复选框限制选择个数的方法
Sep 18 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
德生PL550的电路分析
2021/03/02 无线电
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
[JS]点出统计器
2020/10/11 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
2013/07/08 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
js实现楼层导航功能
2017/02/23 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python写的英文字符大小写转换代码示例
2015/03/06 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
如何基于Python实现数字类型转换
2020/02/07 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
初中英语课后反思
2014/04/25 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers