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 相关文章推荐
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 Javascript
获取JS中网页各种高宽与位置的方法总结
Jul 27 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
轻松理解JavaScript闭包
Mar 14 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
深入浅出es6模板字符串
Aug 26 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
vue+iview 实现可编辑表格的示例代码
Oct 31 Javascript
深入浅析vue-cli@3.0 使用及配置说明
May 08 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来检测proxy
2006/10/09 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
python调用摄像头显示图像的实例
2018/08/03 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
python enumerate内置函数用法总结
2020/01/07 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python3如何判断三角形的类型
2020/04/12 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
公司活动策划方案
2014/01/13 职场文书
企业军训感言
2014/02/08 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
投标承诺函格式
2015/01/21 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP