日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

利用JavaScript实现简单的下拉菜单

發布時間:2025/3/17 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用JavaScript实现简单的下拉菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近幾日,突然對Javascript非常興趣,就想用Javascript實現幾個經常都實現的特效,雖然對于javascript一直能夠做一些開發,但還是使用很少。

?

首先我想實現的就是一個下拉樣式的樹,在實現之前,我就想到結構一定要很簡單,我想將菜單的結構做成一個最簡單的結構樣式,經過約5個小時的奮斗,終于完成初步的實現,先將代碼貼下:

???

代碼 <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
<head>
????
<title>Drop?menu</title>
????
<style?type="text/css">
????????body
????????
{
????????????font-size
:?12px;
????????
}
????????
????????.dropMenu
????????
{
????????????background-color
:?Red;
????????????height
:?27px;
????????
}
???????
????????.dropMenu?ul
????????
{
????????????padding
:?0px;
????????????margin
:?0px;
????????
}

????????.dropMenu?a
????????
{????
????????????border
:solid?1px?#00ff00;
????????????display
:?block;
????????
}
????????.dropMenu?ul?li
????????
{
????????????list-style-type
:?none;
????????????border
:?solid?1px?#00ff00;
????????????float
:?left;
????????????padding
:?5px;
????????????cursor
:hand;
????????
}
????????.dropMenu?ul?ul
????????
{
????????????background-color
:red;
????????????width
:?140px;
????????????display
:?none;
????????????z-index
:?10;
????????
}

????????.dropMenu?ul?ul?li
????????
{
????????????float
:?none;
????????
}
????
</style>

????
<script?language="javascript"?type="text/javascript">
????????
function?openDropMenu(sender)?{
????????????
var?nextNode?=?sender.nextSibling;
????????????
var?dropMenu?=?sender.parentNode;

????????????
//?隱藏所有的下拉列表;
????????????
for?(var?i?=?0;?i?<?dropMenu.childNodes.length;?i++)?{
????????????????
if?(dropMenu.childNodes[i].nodeName.toLowerCase()?==?'ul'?&&
????????????????????dropMenu.childNodes[i].style.display?
==?'block')?{
????????????????????closeDropMenu(dropMenu.childNodes[i]);
????????????????}
????????????}

????????????
if?(nextNode.nodeName.toLowerCase()?==?"ul")?{
????????????????nextNode.style.left?
=?sender.offsetLeft;
????????????????nextNode.style.top?
=?sender.offsetTop?+?sender.offsetHeight;
????????????????nextNode.style.position?
=?"absolute";
????????????????nextNode.style.display?
=?'block';
????????????}

????????????document.onclick?
=?function()?{
????????????????document.onclick?
=?'';
????????????????
//alert(sender.innerText);
????????????????closeDropMenu(nextNode);????
????????????};
????????}
????????
function?openDropSubMenu(sender)?{
????????????
var?nextNode?=?sender.nextSibling;
????????????
var?ulNode?=?sender.parentNode;
????????????
????????????
for?(var?i?=?0;?i?<?ulNode.childNodes.length;?i++)?{
????????????????
if?(ulNode.childNodes[i].nodeName.toLowerCase()?==?'ul')?{
????????????????????closeDropMenu(ulNode.childNodes[i]);
????????????????}
????????????}

????????????
if?(nextNode?!=?null?&&?nextNode.nodeName.toLowerCase()?==?"ul")?{
?????????????
//?nextNode.style.border?=?"solid?1px?#0000ff";
????????????????nextNode.style.position?
=?"absolute";
????????????????nextNode.style.left?
=?sender.offsetLeft?+?sender.offsetWidth;
????????????????nextNode.style.top??
=?sender.offsetTop;????
????????????????nextNode.style.display?
=?"block";
????????????}
????????}

????????
//?關閉下接菜單
????????
function?closeDropMenu(subMenu)?{
????????????
if?(subMenu?==?null?||?subMenu.style.display?==?'none')?return;
????????????
//?關閉子菜單
????????????
for?(var?i?=?0;?i?<?subMenu.childNodes.length;?i++)?{
????????????????
if?(subMenu.childNodes[i].nodeName.toLowerCase()?==?'ul')?{
????????????????????closeDropMenu(subMenu.childNodes[i]);
????????????????}
????????????}
????????????
//?關閉當前菜單。
????????????subMenu.style.display?
=?'none';
????????}
????
</script>
</head>
<body>
????
<h1>Drop?Menu?Example</h1>
????
<div?class="dropMenu">
????????
<ul>
????????????
<li>Normal</li>
????????????
<li?onmouseover="openDropMenu(this);">關于公司</li>
????????????
<ul>
????????????????
<li>Normal?Sub?MenuA</li>
????????????????
<li?onmouseover="openDropSubMenu(this);"><a?href="http://www.g.cn"?>Google</a></li>
????????????????
<ul>
????????????????????
<li?onmouseover="openDropSubMenu(this);">二級子菜單AA</li>
????????????????????
<li?onmouseover="openDropSubMenu(this);">二級子菜單AB</li>
????????????????????
<ul>
????????????????????????
<li?onmouseover="openDropSubMenu(this);">三級子菜單BA</li>
????????????????????????
<li?onmouseover="openDropSubMenu(this);">三級子菜單BB</li>
????????????????????????
<li?onmouseover="openDropSubMenu(this);">三級子菜單BC</li>
????????????????????????
<ul>
????????????????????????????
<li><a?href='http://www.baidu.com'>白度</a></li>
????????????????????????????
<li>四級菜單</li>
????????????????????????????
<li>四級菜單</li>
????????????????????????
</ul>
????????????????????
</ul>
????????????????
</ul>
????????????????
<li?onmouseover="openDropSubMenu(this);">關于一級子菜單B</li>
????????????????
<ul>
????????????????????
<li>二級子菜單BA</li>
????????????????????
<li>二級子菜單BB</li>
????????????????????
<li>二級子菜單BC</li>
????????????????
</ul>
????????????????
<li?onmouseover="openDropSubMenu(this);">關于一級子菜單C</li>
????????????????
<ul>
????????????????????
<li>二級子菜單CA</li>
????????????????????
<li>二級子菜單CB</li>
????????????????????
<li>二級子菜單CC</li>
????????????????????
<li>二級子菜單CD</li>
????????????????
</ul>
????????????????
<li?onmouseover="openDropSubMenu(this);">關于一級子菜單D</li>
????????????????
<ul>
????????????????????
<li>二級子菜單DA</li>
????????????????????
<li>二級子菜單DB</li>
????????????????????
<li>二級子菜單DC</li>
????????????????????
<li>二級子菜單DD</li>
????????????????????
<li>二級子菜單DE</li>
????????????????
</ul>
????????????????
<li?onmouseover="openDropSubMenu(this);">關于一級子菜單E</li>
????????????????
<ul>
????????????????????
<li>二級子菜單EA</li>
????????????????????
<li>二級子菜單EB</li>
????????????????????
<li>二級子菜單EC</li>
????????????????????
<li>二級子菜單ED</li>
????????????????
</ul>
????????????
</ul>
????????????
<li?onmouseover="openDropMenu(this);">解決方案</li>
????????????
<ul>
????????????????
<li>解決方案一級子菜單A</li>
????????????????
<ul>
????????????????????
<li>二級子菜單AA</li>
????????????????????
<li>二級子菜單AB</li>
????????????????
</ul>
????????????????
<li>解決方案一級子菜單B</li>
????????????????
<ul>
????????????????????
<li>二級子菜單BA</li>
????????????????????
<li>二級子菜單BB</li>
????????????????????
<li>二級子菜單BC</li>
????????????????
</ul>
????????????????
<li>解決方案一級子菜單C</li>
????????????????
<ul>
????????????????????
<li>二級子菜單CA</li>
????????????????????
<li>二級子菜單CB</li>
????????????????????
<li>二級子菜單CC</li>
????????????????????
<li>二級子菜單CD</li>
????????????????
</ul>
????????????????
<li>解決方案一級子菜單D</li>
????????????????
<ul>
????????????????????
<li>二級子菜單DA</li>
????????????????????
<li>二級子菜單DB</li>
????????????????????
<li>二級子菜單DC</li>
????????????????????
<li>二級子菜單DD</li>
????????????????????
<li>二級子菜單DE</li>
????????????????
</ul>
????????????????
<li>解決方案一級子菜單E</li>
????????????????
<ul>
????????????????????
<li>二級子菜單EA</li>
????????????????????
<li>二級子菜單EB</li>
????????????????????
<li>二級子菜單EC</li>
????????????????????
<li>二級子菜單ED</li>
????????????????
</ul>
????????????
</ul>
????????
</ul>
????
</div>
</body>
</html>

本方法利用簡單的ul與li標簽實現菜單的結構,看起來非常自然,但還有一些問題,主要包括在以下方面:

??? 1.沒有實現在FireFox中顯示出同樣的效果;

??? 2.還沒有增加任何對菜單項目的CSS樣式;

??? 3.還想做成,只要在DIV中提供一個CSS樣式就能夠自動增加子項目的CSS樣式和JAVASCRIPT代碼,不在界面中做更做設置,簡化界面的設置;

詳細功能現在沒有時間來進行說明,先將代碼貼上;

轉載于:https://www.cnblogs.com/jeffwoot/archive/2010/05/30/javascript.html

總結

以上是生活随笔為你收集整理的利用JavaScript实现简单的下拉菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美女大bxxxxn内射 | 五月婷婷激情综合网 | 97av超碰 | 日韩一级黄色 | 麻豆视频传媒入口 | 亚洲精品久久久中文字幕痴女 | 日av中文字幕 | 精品福利视频一区二区 | 少妇2做爰交换朴银狐 | 韩国av在线播放 | 天堂在线视频 | 亚洲区自拍偷拍 | 国产精品系列在线观看 | 91禁看片 | 真人一毛片 | 国产综合视频一区二区 | 欧美日本韩国一区 | 久久久精品国产 | 波多野吉衣视频在线观看 | 超碰一级片| 国产欧美视频一区二区三区 | 一区二区内射 | 欧美日韩精品一区二区在线播放 | 极品销魂美女一区二区 | 亚洲免费视频大全 | 无码一区二区三区在线观看 | 国产日产欧洲无码视频 | 久热久操 | 麻豆传谋在线观看免费mv | 久久精品在线视频 | 自拍第二页| 婷婷综合av | va婷婷| 欧美一区二区三区久久久 | 99久久婷婷国产综合精品电影 | 成人免费在线网站 | 亚洲一区二区三区免费视频 | 奇米影视第四色888 免费观看a毛片 | 九色九一 | 国产黄色免费网站 | 精品国产91 | 成人性生生活性生交3 | 欧美日韩人妻一区二区 | 欧美一区二区三区久久 | 91精品在线免费 | 欧美一区二区在线看 | 波多野结衣在线一区二区 | 一级国产精品 | 久久精品性爱视频 | 亚洲国产日韩欧美一区二区三区 | 91精品视频在线看 | 伦理片波多野结衣 | 日本少妇做爰全过程毛片 | 久久婷婷影院 | 先锋影音在线 | 日韩午夜视频在线观看 | 久久综合久久综合久久 | 精品黄色一级片 | 欧美国产成人精品一区二区三区 | 毛茸茸多毛bbb毛多视频 | 国内自拍av | 国产精品久久久久久亚洲伦 | 婷婷五月综合缴情在线视频 | 成人av播放 | 狠狠干天天射 | 国产99对白在线播放 | 免费观看黄色一级片 | 日韩国产欧美一区二区三区 | 少妇视频在线播放 | 国产成人一区二区三区免费看 | 色综合自拍 | 亚洲精品一卡二卡 | 午夜激情视频在线观看 | 天天爱天天射 | 公车乳尖揉捏酥软呻吟 | 久久av无码精品人妻出轨 | 亚洲欧美www| 哺乳期喷奶水丰满少妇 | 欧美一级免费在线 | 琪琪色影音先锋 | 在线看黄色网址 | 雨宫琴音一区二区三区 | www.国产一区二区三区 | 精品无码人妻一区二区三 | 久久久久亚洲av成人片 | 久久久一区二区三区 | 嫩草嫩草嫩草嫩草 | 精品丝袜一区 | wwwav网站 | 亚洲午夜福利一区二区三区 | 亚洲国产无码精品 | 日韩在线你懂的 | 日韩不卡一二三区 | 国产精品后入内射日本在线观看 | 99久久久国产精品无码网爆 | 一级黄色片一级黄色片 | 久久久青青 | 999国产在线 | 天堂а√在线最新版中文在线 |