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实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
jquery zTree异步加载简单实例讲解
Feb 25 Javascript
ES6中Math对象的部分扩展
Feb 20 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
浅谈 Vue 项目优化的方法
Dec 16 Javascript
利用Webpack实现小程序多项目管理的方法
Feb 25 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
.netcore+vue 实现压缩文件下载功能
Sep 24 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/05/29 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python简单获取数组元素个数的方法
2015/07/13 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
银行演讲稿范文
2014/01/03 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
Python 视频画质增强
2022/04/28 Python