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 新浪网易的评论块制作
Jul 01 Javascript
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
jquery 插件学习(四)
Aug 06 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
ECMAScript6快速入手攻略
Jul 18 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
快速搭建vue2.0+boostrap项目的方法
Apr 09 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 Javascript
类和原型的设计模式之复制与委托差异
Jul 07 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源代码
2006/10/09 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
PDO::rollBack讲解
2019/01/29 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
在Django框架中设置语言偏好的教程
2015/07/27 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
virtualenv介绍及简明教程
2020/06/23 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
活动策划邀请函
2014/02/06 职场文书
学校万圣节活动方案
2014/02/13 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
2014年基建工作总结
2014/12/12 职场文书
初中生物教学随笔
2015/08/15 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
实现GO语言对数组切片去重
2022/04/20 Golang