JavaScript实现下拉列表


Posted in Javascript onJanuary 20, 2021

本文实例为大家分享了JavaScript实现下拉列表的具体代码,供大家参考,具体内容如下

这一次写了一个比较简单的下拉列表的实现,点击出现列表内容,再次点击列表消失,研究了很久,发现这种js写法确实比较好用。先看一下效果。

JavaScript实现下拉列表

直接上代码,js是主要写的部分,css是随意调试的,不过这个写法要用到css。

1、HTML部分的代码

<body>
<!--最外面的一层-->
<div class="outer">
<!-- 里面的-->
<div class="inner">
<h2>第一</h2>
 <ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
 </ul>
</div>

<div class="inner">
 <h2>第二</h2>
 <ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
 </ul>
</div>

<div class="inner">
 <h2>第二</h2>
 <ul>
  <li>4</li>
  <li>5</li>
  <li>6</li>
 </ul>
</div>

 <div class="inner">
  <h2>第二</h2>
  <ul>
   <li>7</li>
   <li>8</li>
   <li>9</li>
  </ul>
 </div>


<!-- 里面的-->
</div>
<!--最外面一层-->
</body>

2、css部分的代码

.outer{
   margin: 0 auto;
   width: 500px;
   height: 600px;
   border: 1px solid red;
  }
  .outer .inner{
   width: 500px;
   border: 1px solid red;

  }
  .outer .inner ul{
   list-style: none;
   border: 1px solid fuchsia;
  }
  h2{
   border: 1px solid blueviolet;
   height: 30px;
   display: flex;
   justify-content: center;
   cursor: pointer;
   background-color: #74a400;
   margin: 0;
  }
  ul{
   display: none;
   

  }
  
 
  这里.ul是HTML里面没有的,要通过js来添加
  .ul{
   display: block;
   background-color: cornflowerblue;
   margin: 0;
  }
  ul li{
   border: 1px solid cornflowerblue;
   background-color: darkgray;
   display: flex;
   justify-content: center;
   margin-left: -42px;
   cursor: pointer;

}

3、最重要的js代码部分

window.onload = function () {
  // 获取h2与ul
   var h2 = document.getElementsByTagName("h2");
   var ul = document.getElementsByTagName("ul");
   //对所有的h2绑定一个点击事件
   for (let i = 0; i <h2.length ; i++) {
    h2[i].index = i;
    h2[i].onclick = function () {
 //绑定的事件是如果和h2在同一级的ul没有classname的话,就给他的classname取名为ul,如果有的话,就给他的classname置为空。
 //通过css代码可以看到有一个.ul的部分是不起作用的,因为js还没有给相应的h2的classname改变,当点击h2的时候才会改变。
 //这个写法就是不直接改变css样式内容,而是通过改变名字来实现样式的转变,这样的话,一个样式就能被用好多次,不用重复一直写样式。
     if (ul[this.index].className == ""){
      ul[this.index].className = "ul";
     }else {
      ul[this.index].className = "";
     }
    }
 }
}

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

Javascript 相关文章推荐
javascript URL编码和解码使用说明
Apr 12 Javascript
MultiSelect左右选择控件的设计与实现介绍
Jun 08 Javascript
关于JS中prototype的理解
Sep 07 Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
Bootstrap实现各种进度条样式详解
Apr 13 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
Node.js EventEmmitter事件监听器用法实例分析
Jan 07 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
JavaScript中的宏任务和微任务详情
Nov 27 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 #Vue.js
详解实现vue的数据响应式原理
Jan 20 #Vue.js
vue实现简易计算器功能
Jan 20 #Vue.js
vue使用过滤器格式化日期
Jan 20 #Vue.js
Vue实现简单计算器
Jan 20 #Vue.js
使用node-media-server搭建一个简易的流媒体服务器
Jan 20 #Javascript
vue实现验证用户名是否可用
Jan 20 #Vue.js
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
Python抓取框架 Scrapy的架构
2016/08/12 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
import的本质解析
2017/10/30 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
Python3 修改默认环境的方法
2019/02/16 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python图形用户接口实例详解
2019/12/16 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
材料工程专业毕业生求职信
2014/03/04 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
授权委托书格式
2014/07/31 职场文书
校长四风对照检查材料
2014/09/27 职场文书
2014年体育部工作总结
2014/11/13 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
环保建议书作文400字
2015/09/14 职场文书
初中班长竞选稿
2015/11/20 职场文书
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python