如何使用Javascript结合CSS生成dropdown菜单

Bootstrap JavaScript插件:下拉菜单 (dropdown.js) 作者:WangMin 格言:努力做好自己喜欢的每一件事 优快云原创文章 博客地址 ???? WangMin 下拉菜单主体结构参照 Bootstrap 组件:下拉菜单组件的使用 部分,这里主要讲下拉菜单的主要效果的实现。 使用 通过data数据属性或JavaScript,dropdown插件通过切换父列表项上的.open类来切换隐藏的内容(下拉菜单)。 在移动设备上,打开一个下拉菜单会添加一个.dropdown背景作为一个点击区域,当你在菜单外点击时,可以关闭下拉菜单。这意味着从一个打开的下拉菜单切换到 阅读详情

关于JS菜单的源代码很多很多,纯CSS的也有不少。都封装的不错,不过因为内在的逻辑比较复杂要想修改还真的不容易的。CSS dropdown菜单的缺点是浏览器兼容代码太多,会搞得可读性很差。

原理其实很简单:
1.  使用一个absolute的DIV,在onmouseover的时候show,在onmouseout的时候hide。
2.  使用relative父DIV的位置,然后DIV的位置就是相对于父元素了;
3.  对于mouseout的消息,因为是父节点为单位的,所以子节点使用table就可以解决鼠标移不进去的问题了。

 

function displayMenu(id, visible)
{
    
var obj = document.getElementById(id);
    
if(obj == null)
    
{
        alert(id 
+ " -- not found!");
        
return;
    }

    
if(visible)
        obj.style.visibility
='visible'
    
else
        obj.style.visibility
='hidden'
}


<ul><li><a href="">重庆</a></li><li><a href="">杭州</a></li><li><a href="">南京</a></li><li><a href="">上海</a></li><li class="citymenu" onMouseOver="displayMenu('morecity', true);" onMouseOut="displayMenu('morecity', false);">更多>><table id="morecity"><tr><td><a href="">成都</a></td><td><a href="">郑州</a></td></tr></table></li></ul>


或者直接到我做的首页去抓代码,看效果吧,呵呵http://www.yofun.cn

JS练习之JS/CSS点击下拉菜单 一、效果图 先上效果图: 点击按钮后 二、代码篇 HTML代码: <h2>可点击的下拉菜单</h2> <p>点击按钮显示下拉菜单</p> <div class="dropdown"> <button onclick="myFunction()" class="dropbtn">下拉菜单</button> ... 阅读详情

相关推荐

mxjs-dropdown-menu:打造交互式下拉菜单

本文还有配套的精品资源,点击获取 简介:mxjs-dropdown-menu是一个基于JavaScript的下拉菜单组件,专为前端开发设计。它提供丰富的定制选项、响应式设计和多级菜单功能,并通过JavaScript实现平滑的动画和事件处理。开发者可以通过DOM操作、事件监听和CSS样式控制来创建交互式下拉菜单系统。本教程将深入探讨组件的核心特性、工作原理和使用方法,帮助开发...

weixin_30633869的博客 901

【亲测免费】 dropdown.js 使用教程

dropdown.js 使用教程 1、项目介绍 dropdown.js 是一个轻量级的 JavaScript 库,用于创建和管理下拉菜单。它提供了简单易用的 API,使得开发者可以快速地在网页中集成下拉菜单功能。该项目遵循开源许可协议,可以在 GitHub 上找到其源代码和相关文档。 2、项目快速启动 安装 首先,你需要将 dropdown.js 库下载到你的项目中。你可以通过以下命令从 GitH...

gitblog_01147的博客 1295

告别调参玄学:用 DINOv2 (ViT-S/ViT-G) 和 PCA 可视化,直观理解自监督特征

本文深入解析了DINOv2(ViT-S/ViT-G)模型在自监督学习中的特征提取机制,通过PCA降维技术实现特征空间的可视化。文章对比了不同规模模型的特征表达差异,并提供了PCA阈值调优和深度分析的实用技巧,帮助读者直观理解自监督学习的视觉密码。

weixin_42565865的博客 410

终极指南:如何使用jquery-dropdown打造无依赖的Bootstrap风格下拉菜单

jquery-dropdown是一个轻量级的JavaScript插件,它能帮助开发者轻松实现Bootstrap风格的下拉菜单,且无需依赖完整的Bootstrap框架。这个插件不仅外观与Bootstrap下拉菜单几乎一致,还添加了如滚动功能、提示框等实用特性,非常适合需要在现有项目中快速集成高质量下拉菜单的场景。 ## 为什么选择jquery-dropdown? 在Web开发中,下拉菜单是常见的

gitblog_00313的博客 992

DLPFC.h5ad格式数据简便获取方式+STAGATE论文复现问题

简便获取DLPFC.h5ad格式的数据方式

apple_74057836的博客 2257

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

weixin_43864631的博客 1万+

如何制作html下拉按钮,CSS3制作Dropdown下拉菜单的方法

:target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id=“comment”的位置,俗称锚)。CSS3 为这个动作赋予了更加多的功能——就如同:hover 一样你可以做一些样式定义。先上效果图正如标题所说,本文是教你如何巧用CSS3:target伪类制作Dropdown下拉菜单,原生HTML+CSS,无J...

weixin_31741827的博客 761

python入门:Anaconda和Jupyter notebook的安装与使用

一、安装和使用Anaconda 1、anaconda是什么? Anaconda在英文中是“巨蟒”的意思,与python的意思相近,它是python的包管理器和环境管理器。 2、为什么需要安装anaconda? 原因有以下几点: 附带一大批常用的数据科学包,方便立即开始处理数据 管理包 anaconda是在conda(一个包管理器和环境管理器)上发展来的;而conda可以很方便地对第三方的包进行安装、卸载和更新。 管理环境 conda可以为不同的项目建立不同的运行环境,避免不同的项目或包版本

PY洋洋 1万+

Bootstrap 下拉菜单(Dropdown)插件

Bootstrap 5 下拉菜单(Dropdown)插件概述 Bootstrap 5 的 Dropdown 插件提供交互式下拉菜单功能,适用于导航栏、按钮和表单。主要特性包括:依赖 Popper.js 实现动态定位,支持平滑过渡动画,提供键盘导航和可访问性。核心结构由 .dropdown(容器)、.dropdown-toggle(触发元素)和 .dropdown-menu(菜单内容)组成。可通过 HTML 数据属性(如 data-bs-toggle="dropdown")或 JavaSc

likuoelie的博客 1050

iOS远程真机之ios-minicap安装使用完全指南

minicap 是开源项目 STF 中的高速截图工具。STF利用此工具不断的传输图片信息并在web端绘制实现 以前只有Android版本,最近有新的ios版本,现在就安装过程中遇到的一些问题进行分享(ps:感谢sorccu 在issue里面给我的指点) 首先上地址:https://github.com/openstf/ios-minicap 你可以git clone或者直接下载zip包。

甫式人生 1万+

USB 基础学习:USB 电气信号介绍

USB电气信号技术解析 USB通信的核心是差分信号传输技术,通过D+和D-两根线传输相位相反的电压信号实现数据通信。USB信号系统包含三类关键信号:差分数据信号(抗干扰性强)、单端状态信号(用于设备识别)和电源信号(提供5V供电)。USB2.0采用400mV电压摆幅和NRZI编码,支持低速(1.5Mbps)至高速(480Mbps)传输;USB3.0则新增专用差分对,数据速率可达20Gbps。物理层通过上拉/下拉电阻检测设备连接,高速模式需特殊握手协议。抗干扰设计的关键在于保持差分线等长、阻抗匹配和使用共模扼

浩瀚之水的专栏 1782

效果直逼flash的Div+Css+Js菜单

http://www.dzhai.com/blog/article.asp?id=153 css菜单 body{ background-color:#B8B8A0; } #fbtn{ display:none; overflow:hidden; border-style:solid; border-width:1px; border-color:#e1e1c9 #e1e1c9 #6e6e5

卢恪 1957

Pytorch入门实战(7):基于BERT实现文本隐喻二分类(Kaggle入门题目)

Bert入门实战,文本二分类问题

iioSnail的博客 4055

html下拉菜单制作方法,CSS3制作Dropdown下拉菜单的方法

:target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id=“comment”的位置,俗称锚)。CSS3 为这个动作赋予了更加多的功能——就如同:hover 一样你可以做一些样式定义。先上效果图正如标题所说,本文是教你如何巧用CSS3:target伪类制作Dropdown下拉菜单,原生HTML+CSS,无J...

weixin_35891787的博客 793

IsaacSim环境配置之配置本地资产包

摘要:Isaac Sim官方资产文件默认从美国服务器下载速度慢,影响开发体验。建议下载本地资产包并配置本地资源源。具体步骤包括:1) 下载资产包并解压;2) 修改Isaac Sim安装路径下的配置文件,添加本地资产路径配置,包括机器人、人物、环境等各类资源目录。配置完成后可显著提升资产加载速度,改善开发效率。文中提供了详细的配置文件修改示例和截图说明。

拥抱具身智能,昇腾Ascend C 329

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

3步实现多级下拉菜单:Layui dropdown.js完全指南

在后台管理系统开发中,你是否遇到过这些问题:普通下拉菜单无法满足复杂导航需求?多级菜单嵌套实现繁琐?右键菜单功能难以集成?Layui的dropdown.js组件提供了一站式解决方案,让你用极简代码实现专业级下拉交互。本文将通过实战案例,带你掌握从基础菜单到复杂多级导航的全流程实现方法。 ## 为什么选择dropdown.js? 下拉菜单(Dropdown)是Web界面中最常用的交互组件之一,用...

gitblog_00435的博客 515

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何使用CSS和JavaScript创建下拉菜单

In this tutorial you will learn how to create a simple dropdown menu with vanilla Javascript, HTML and CSS. We will walk through the HTML, CSS and Javascript code, but paying more attention to the pro...

cumian8165的博客 524

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于使用bootstrap创建导航栏的一些学习心得(dropdown二级菜单)

我在学习《Build a Personal Portfolio Webpage》这个的项目时,在做导航栏的时候卡了有一两天,问题出在我想我的适应于(max-width:768px)的导航栏出现二级菜单。下面的图片是我想达到的效果。         但是在做的时候却出现了问题,bootstrap自带的就是如第一张图的效果,我仿照freeCodeCamp给的例子,想做成这

layuecr的博客 4153

BootStrap--CSS组件--下拉菜单(dropdown)

dropdown、dropdown-menu、dropdown-header、divider、dropdown-submenu 例子见下拉菜单.html//源码 .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: abso

王欢的博客 3038

Bootstrap使用 .dropdown-menu 类创建下拉菜单

下拉菜单 下拉菜单是一种非常常见的效果,用于展示可切换、有关联的一组链接,它可以节省网页排版空间,使网页布局简洁有序。 Bootstrap内置了一套完整的下拉菜单组件,可用于不同的元素,如导航、按钮等等。配合其他元素,还可以设计出形式多样的菜单效果。 下拉菜单的交互行为还需要 下拉菜单插件(dropdown.js)的支持,因此使用下拉菜单组件时,还必须引入 dropdown.js 文件。 ...

歪脖先生的博客 5841

el-dropdown 下拉菜单 结合JQ做鼠标移入显示 移出隐藏事件

鼠标移入显示下拉菜单按钮,移出隐藏下拉菜单按钮功能实现

zhang_gt的博客 2343

Semantic UI 之 下拉菜单 dropdown

第一步:创建项目 添加JQuery和Semantic UI包、创建dropdown.html页面: 第二步:dropdown.html页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>分段</title> <link rel="stylesheet" href="semantic

哈 3120

10分钟打造个性化下拉菜单:jquery-dropdown样式定制教程

想要为你的网站添加优雅美观的下拉菜单功能吗?jquery-dropdown是一个轻量级的Bootstrap风格下拉菜单插件,无需依赖Bootstrap框架即可实现类似效果。这款jQuery插件提供了完整的样式定制能力,让你在10分钟内就能创建出个性化的下拉菜单界面。无论你是前端新手还是经验丰富的开发者,都能轻松上手这个简单而强大的下拉菜单解决方案。 ## 🎨 为什么选择jquery-dropd

gitblog_00582的博客 681

JS组件Bootstrap dropdown组件扩展hover事件_javascript技巧

JS组件Bootstrap dropdown组件扩展hover事件_javascript技巧 简介bootstrap的下拉组件,需要点击click时,方可展示下拉列表。因此对于喜欢简单少操作的大家来说,点击一下多少带来不便,因此,引入hover监听,鼠标经过自动展示下拉框。这篇文章主要介绍了JS组件Bootstrap dropdown组件扩展hover事件,感兴趣的小伙伴们可以参考一下 bootstrap导航条当中dropdown组件用得特别频繁,本文就为大家介绍bootstrap中的dropdown组

456

开源项目推荐:Dropdown.js

开源项目推荐:Dropdown.js Dropdown.js 是一个使用 JavaScript 编写的开源项目,旨在为 HTML 的 <select> 元素提供一个简单、易用的下拉菜单插件。 1. 项目基础介绍与主要编程语言 该项目由 FezVrasta 开发并维护,主要使用 JavaScript 编程语言,同时包含了 CSS 和 HTML 的相关代码。Dropdown.js 的目标是...

gitblog_00457的博客 368

Dropdown 项目使用教程

Dropdown 项目使用教程 1. 项目介绍 Dropdown 项目是一个基于开源技术的下拉菜单组件库,旨在为开发者提供一个简单易用的下拉菜单解决方案。该项目支持多种样式和交互方式,适用于各种Web应用场景。通过使用 Dropdown 项目,开发者可以快速集成下拉菜单功能,提升用户体验。 2. 项目快速启动 2.1 安装 首先,克隆项目到本地: git clone https://github....

gitblog_01170的博客 798
上一篇: 如何在程序里面模拟RunDll32调用系统的对话框
下一篇: 支持IE和FireFox的滚动图片javascript
oeichenwei
博客等级 码龄23年 8粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值