您正在使用 IPV4 [18.221.187.121] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 劳动节 012
2024年 端午节 052
2025年 元 旦 257
2025年 春 节 285
 
您现在的位置:首页 >> 脚本代码 >> 内容
本类新增
本类热门
JavaScript实现下拉列表
内容摘要: 1、HTML部分的代码body!--最外面的一层--div class='outer'!-- 里面的--div class='inner'h2第一/h2ul lia/li lib/li lic/li/ul/divdiv class='inner'h2第二/h2ul li1/li li2/li li3/li/ul/divdiv class='inner'h2第......
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 = "";

}

}

}

}

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:向上一个一个移动的文字

 

下一篇:使用js获取身份证年龄的示例代码

发布日期:2021/6/15
手机扫二维码直达本页
发布时间:12:34:56
点  击:3
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....