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 相关文章推荐
CSS+JS构建的图片查看器
Jul 22 Javascript
javascript动画效果类封装代码
Aug 28 Javascript
javascript qq右下角滑出窗口 sheyMsg
Mar 21 Javascript
JavaScript实现QueryString获取GET参数的方法
Jul 02 Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
基于bootstrap3和jquery的分页插件
Jul 31 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
May 18 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
ES6与CommonJS中的模块处理的区别
Jun 13 Javascript
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
浅谈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 daodb插入、更新与删除数据
2009/03/19 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
js中有关IE版本检测
2012/01/04 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
如何通过python检查文件是否被占用
2020/12/18 Python
一些Unix笔试题和面试题
2013/01/22 面试题
酒店中秋节活动方案
2014/01/31 职场文书
给校长的建议书
2014/03/12 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
初中语文教学研修日志
2015/11/13 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python