JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)下拉菜單顯示隱藏的具體代碼,供大家參考,具體內(nèi)容如下
有時(shí)需要這種頁面效果:
鼠標(biāo)移動到元素上面時(shí),實(shí)現(xiàn)下拉菜單
鼠標(biāo)移開元素后,下拉菜單不見了
實(shí)現(xiàn)思路
1、一個(gè)盒子里包含上下兩部分,下面部分為子菜單,先設(shè)置為隱藏:display: none;
2、當(dāng)鼠標(biāo)移動到盒子上:觸發(fā)事件- - -onmouseover ,js設(shè)置下面部分子菜單的display值為- - -block,使子菜單顯示
3、鼠標(biāo)移開盒子:觸發(fā)事件- - -onmouseout ,js又設(shè)置下面部分子菜單的display值為- - -none,使子菜單又隱藏起來
4、字體顏色,背景顏色等樣式的改變,根據(jù)所需進(jìn)行相應(yīng)變化
代碼示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>操作元素-新浪下拉菜單</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
ul li {
list-style: none;
}
a {
text-decoration: none;
color: #4c4c4c;
}
a:hover {
color: #e88415;
}
.box {
width: 80px;
margin: 50px auto;
font-size: 14px;
color: #4c4c4c;
}
.weibo {
position: relative;
background-color: #fcfcfc;
}
.weibo a {
display: block;
height: 40px;
line-height: 40px;
padding-left: 20px;
}
.change {
color: #f9a74f;
background-color: #edeef0;
}
i {
position: absolute;
top: 50%;
right: 15px;
margin-top: -4px;
width: 5px;
height: 5px;
border-bottom: 1px solid orangered;
border-right: 1px solid orangered;
transform: rotate(45deg);
}
.weiboList {
display: none;
}
.weiboList li a {
display: block;
width: 80px;
height: 33px;
line-height: 33px;
padding-left: 15px;
border-bottom: 1px solid #fecc5b;
background-color: #fff;
}
.weiboList li a:hover {
background-color: #fff5da;
}
</style>
</head>
<body>
<div class="box">
<div class="weibo"><a href="#" >微博<i class="select"></i></a></div>
<ul class="weiboList">
<li><a href="#" >私信</a></li>
<li><a href="#" >評論</a></li>
<li><a href="#" >@我</a></li>
</ul>
</div>
<script>
var box = document.querySelector('.box');
var weibo = document.querySelector('.weibo');
var weiboList = document.querySelector('.weiboList');
box.onmouseover = function() {
weibo.className = 'weibo change'
weiboList.style.display = 'block';
}
box.onmouseout = function() {
weibo.className = 'weibo';
weiboList.style.display = 'none';
}
</script>
</body>
</html>
頁面效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)在網(wǎng)頁上簡單顯示時(shí)間的方法
這篇文章主要介紹了js實(shí)現(xiàn)在網(wǎng)頁上簡單顯示時(shí)間的方法,實(shí)例分析了javascript實(shí)時(shí)顯示時(shí)間的技巧,需要的朋友可以參考下2015-03-03
javascript彈性運(yùn)動效果簡單實(shí)現(xiàn)方法
這篇文章主要介紹了javascript彈性運(yùn)動效果簡單實(shí)現(xiàn)方法,實(shí)例分析了JavaScript實(shí)現(xiàn)彈性運(yùn)動的原理,涉及JavaScript數(shù)學(xué)運(yùn)算與時(shí)間函數(shù)的相關(guān)使用技巧,需要的朋友可以參考下2016-01-01
Net微信網(wǎng)頁開發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過程詳解
這篇文章主要介紹了Net微信網(wǎng)頁開發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
javascript中如何快速獲取數(shù)組最后一個(gè)值
這篇文章主要介紹了javascript中如何快速獲取數(shù)組最后一個(gè)值問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Servlet實(shí)現(xiàn)文件上傳,可多文件上傳示例
本篇文章主要介紹了Servlet實(shí)現(xiàn)文件上傳,可多文件上傳示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
javascript 進(jìn)度條 實(shí)現(xiàn)代碼
這個(gè)例子是通過測試的。是真真正正根據(jù)記錄的條數(shù)掛鉤的。2009-07-07

