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 相关文章推荐
jQuery验证插件validation使用指南
Apr 21 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
js学习之----深入理解闭包
Nov 21 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
Sep 28 Javascript
Vue 框架之动态绑定 css 样式实例分析
Nov 14 Javascript
js实现黑白div块画空心的图形
Dec 13 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 Javascript
解决vue 退出动画无效的问题
Aug 09 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
一个显示天气预报的程序
2006/10/09 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
初识php MVC
2014/09/10 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
从vue源码看props的用法
2019/01/09 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
利用python实现周期财务统计可视化
2019/08/25 Python
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
区域总监的岗位职责
2013/11/21 职场文书
大学班长的职责
2014/01/27 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
留学顾问岗位职责
2014/04/14 职场文书
委托公证书格式
2015/01/26 职场文书
教师节班会开场白
2015/06/01 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
商业计划书之服装
2019/09/09 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python