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与框架页的操作代码
Jan 17 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
通过js来制作复选框的全选和不选效果
May 22 Javascript
纯javascript代码实现计算器功能(三种方法)
Sep 07 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
Dec 02 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
原生JS进行前后端同构
Apr 22 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
JS实现排行榜文字向上滚动轮播效果
Nov 26 Javascript
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 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代码
2011/11/27 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
js 判断 enter 事件
2009/02/12 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
js实现砖头在页面拖拉效果
2020/11/20 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
JavaScript函数的特性与应用实践深入详解
2018/12/30 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
python中的tcp示例详解
2018/12/09 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
Django中间件基础用法详解
2019/07/18 Python
python中的列表与元组的使用
2019/08/08 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
市场营销管理毕业生自荐信
2014/03/03 职场文书
《恐龙》教学反思
2014/04/27 职场文书
伊索寓言教学反思
2014/05/01 职场文书
免职证明样本
2014/10/23 职场文书
蓬莱阁导游词
2015/02/04 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技