把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发
方法1:
原文: https://zzll.org/article/bootstrap4-xialacaidan
很简单,css中加入如下代码
.dropdown:hover>.dropdown-menu {
display: block;
}
.dropdown>.dropdown-toggle:active {
pointer-events: none;
}
修改完成后发现一个小问题,菜单和文字间有一点空隙,鼠标移动到空隙后菜单就隐藏了。
我们再修改 dropdown-menu
的样式,加一个 mt-0
的样式就没有空隙了。
<div class="dropdown-menu mt-0" aria-labelledby="navbarDropdown">
...
</div>
另
方法2:
git原文:https://github.com/ibmsoft/twitter-bootstrap-hover-dropdown
这个是bootstrap3的方法,修改后
; (function ($, window, undefined) {
// outside the scope of the jQuery plugin to
// keep track of all dropdowns
var $allDropdowns = $();
// if instantlyCloseOthers is true, then it will instantly
// shut other nav items when a new one is hovered over
$.fn.dropdownHover = function (options) {
// the element we really care about
// is the dropdown-toggle's parent
$allDropdowns = $allDropdowns.add(this.parent());
return this.each(function () {
var $this = $(this).parent(),
defaults = {
delay: 500,
instantlyCloseOthers: true
},
data = {
delay: $(this).data('delay'),
instantlyCloseOthers: $(this).data('close-others')
},
options = $.extend(true, {}, defaults, options, data),
timeout;
$this.hover(function () {
if (options.instantlyCloseOthers === true) {
$allDropdowns.removeClass('show');
$allDropdowns.find(".dropdown-menu").removeClass('show');
}
window.clearTimeout(timeout);
$(this).addClass('show');
$(this).find(".dropdown-menu").addClass('show');
}, function () {
timeout = window.setTimeout(function () {
$this.removeClass('show');
$this.find(".dropdown-menu").removeClass('show');
}, options.delay);
});
});
};
$('[data-hover="dropdown"]').dropdownHover();
})(jQuery, this);
//在你调用的地方里加上 time是你给的反应时间。比如500这样。
$('.dropdown-toggle').dropdownHover(time);
//点击链接如下:
$('a.dropdown-toggle').one('click', function () {
if ($(this).attr('href')!="")
location.href = $(this).attr('href');
});
最新文章
- nodejs--模块
- Ext.Net 学习随笔 003 Panel基本使用
- 使用webpack搭建vue开发环境
- 关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题
- 一个基于.NET平台的自动化/压力测试系统设计简述
- css图片切换效果分析+翻译整理
- PHP文件上传代码和逻辑详解
- LEFT JOIN、Right、Full后ON和WHERE的区别
- Android之开源项目view篇
- 征服 Nginx + Tomcat
- Gabor变换
- 图论(KM算法):COGS 290. [CTSC2008] 丘比特的烦恼
- (十一)boost库之多线程间通信
- BZOJ 3233: [Ahoi2013]找硬币( dp )
- 201671010133 2016-2017-2 《java程序设计》 初学java!
- HDU1671 Phone List
- nginx记录post body/payload数据
- Linux,IDS入侵防御系统
- SY-SUBRC
- 下拉加载更多DEMO(js实现)
热门文章
- Maven 打包的时候报 Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin
- 再回首:object是什么
- 组件--Fragment(碎片)第二篇详解
- 移动端使用的WebKit私有属性(转)
- NetSugar.Cap与CAP功能比对
- 利用三层判断sql数据库中编码是否已经存在(个人拙作,不喜勿喷)
- Eclipse3.2查找jre的问题
- OpenStack IceHouse 部署 - 2 - 网络与软件环境初始化
- MyEclipse打包带源码的jar包
- php里单引和双引的用法区别和连接符(.)