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 相关文章推荐
Js 时间函数getYear()的使用问题探讨
Apr 01 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
js获取内联样式的方法
Jan 27 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
Jul 01 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
利用Node.js对文件进行重命名
Mar 12 Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 Javascript
BootstrapValidator实现表单验证功能
Nov 08 Javascript
学前端,css与javascript重难点浅析
Jun 11 Javascript
AJAX实现省市县三级联动效果
Oct 16 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/12/30 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
Node.js pipe实现源码解析
2017/08/12 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python实现的多线程http压力测试代码
2017/02/08 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
选秀节目策划方案
2014/06/06 职场文书
80后婚前协议书范本
2014/10/24 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
七年级生物教学反思
2016/02/20 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript