JS组件Bootstrap实现下拉菜单效果代码


Posted in Javascript onApril 26, 2016

Bootstrap 下拉菜单 这一章讲解了下拉菜单,但是没有涉及到交互部分,本章将具体讲解下拉菜单的交互。使用下拉菜单(Dropdown)插件,您可以向任何组件(比如导航栏、标签页、胶囊式导航菜单、按钮等)添加下拉菜单。

如果您想要单独引用该插件的功能,那么您需要引用 dropdown.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。

一、用法
您可以切换下拉菜单(Dropdown)插件的隐藏内容:

1、通过 data 属性:向链接或按钮添加 data-toggle="dropdown" 来切换下拉菜单,如下所示:

<div class="dropdown">
 <a data-toggle="dropdown" href="#">下拉菜单(Dropdown)触发器</a>
 <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
 ...
 </ul>
</div>

如果您需要保持链接完整(在浏览器不启用 JavaScript 时有用),请使用 data-target 属性代替 href="#":

<div class="dropdown">
 <a id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
 下拉菜单(Dropdown) <span class="caret"></span>
 </a>
 
 
 <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
 ...
 </ul>
</div>

2、通过 JavaScript:通过 JavaScript 调用下拉菜单切换,请使用下面的方法:
$('.dropdown-toggle').dropdown()

二、下拉菜单简单实例
常规使用中,和组件方法一样,代码如下:

//声明式用法

<div class="dropdown">
 <button class="btn btn-primary" data-toggle="dropdown">
   下拉菜单
   <span class="caret"></span>
 </button>
 <ul class="dropdown-menu">
   <li><a href="#">首页</a></li>
   <li><a href="#">产品</a></li>
   <li><a href="#">资讯</a></li>
   <li><a href="#">关于</a></li>
 </ul>
</div>

声明式用法的关键核心:
1.外围容器使用 class="dropdown"包裹;
2.内部点击按钮事件绑定 data-toggle="dropdown";
3.菜单元素使用 class="dropdown-menu"。

//如果按钮在容器外部,可以通过 data-target 进行绑定。

<button class="btn btn-primary" id="btn" data-toggle="dropdown"
data-target="#dropdown">
在 JavaScript 调用中,没有属性,方法并不好用,下面介绍四个基本事件。
//下拉菜单方法,但仍然需要 data-*

$('#btn').dropdown();
$('#btn').dropdown('toggle');

下拉菜单支持 4 种事件,分别对应弹出前、弹出后、关闭前和关闭后。

JS组件Bootstrap实现下拉菜单效果代码

//事件,其他雷同

$('#dropdown').on('show.bs.dropdown', function() {
 alert('在调用 show 方法时立即触发!');
});

三、在标签页内的下拉菜单的用法

<!DOCTYPE html>
<html>
<head>
 <title>Bootstrap 实例 - 带有下拉菜单的标签页</title>
 <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 <script src="/scripts/jquery.min.js"></script>
 <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
 
<p>带有下拉菜单的标签页</p>
<ul class="nav nav-tabs">
 <li class="active"><a href="#">Home</a></li>
 <li><a href="#">SVN</a></li>
 <li><a href="#">iOS</a></li>
 <li><a href="#">VB.Net</a></li>
 <li class="dropdown">
  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
   Java <span class="caret"></span>
  </a>
  <ul class="dropdown-menu">
   <li><a href="#">Swing</a></li>
   <li><a href="#">jMeter</a></li>
   <li><a href="#">EJB</a></li>
   <li class="divider"></li>
   <li><a href="#">分离的链接</a></li>
  </ul>
 </li>
 <li><a href="#">PHP</a></li>
</ul>
 
</body>
</html>

效果图:

JS组件Bootstrap实现下拉菜单效果代码

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jqTransform form表单美化插件使用方法
Jul 05 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
Three.js学习之几何形状
Aug 01 Javascript
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
对vue 键盘回车事件的实例讲解
Aug 25 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 #Javascript
Bootstrap每天必学之模态框(Modal)插件
Apr 26 #Javascript
深入理解JS中的substr和substring
Apr 26 #Javascript
js获取页面及个元素高度、宽度的代码
Apr 26 #Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 #Javascript
JQuery给select添加/删除节点的实现代码
Apr 26 #Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 #Javascript
You might like
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
php实现微信企业转账功能
2018/10/02 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
利用python程序帮大家清理windows垃圾
2017/01/15 Python
python并发编程之线程实例解析
2017/12/27 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Python帮你识破双11的套路
2019/11/11 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
通过cmd进入python的步骤
2020/06/16 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
高中教师评语大全
2014/04/25 职场文书
工作鉴定评语
2014/05/04 职场文书
小学家长学校培训材料
2014/08/24 职场文书
装修活动策划方案
2014/08/27 职场文书
三好学生评语大全
2014/12/29 职场文书
运动会广播稿100字
2015/08/19 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers