javascript – 在悬停时打开和关闭模态窗口,在失焦时关闭
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在悬停时打开和关闭模态窗口,在失焦时关闭,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1659字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 在悬停时打开和关闭模态窗口,在失焦时关闭](/upload/InfoBanner/zyjiaocheng/709/066ec0ff95a94d33801b072d764ac2bf.jpg)
我使用fancybox作为我的模态窗口.我能够触发模态窗口在悬停时打开,但我还希望它在链接没有悬停时关闭窗口(失焦?).
$("a.mini-view").fancybox().hover(function() {
$(this).click();
});
任何帮助表示赞赏.
我添加了mouseout,我不擅长js,所以重构以下内容会有所帮助:
$(document).ready(function() {
$('a.mini-view').mouseout(function () {
$.fancybox.close();
});
$("a.mini-view").fancybox().hover(function() {
$(this).click();
});
$("a.mini-view").fancybox({
'overlayShow' : false,
'autoScale' : true
});
});
如果我从一个链接直接转到另一个链接,而不在两者之间暂停,则它不起作用
解决方法:
使用.hover()或其他鼠标输入/输出jQuery方法触发事件的主要问题称为冒泡.
对于您的特定问题,您最好的选择是使用jQuery插件hoverIntent.如果您访问他们的网站,他们有一个关于处理冒泡事件意味着什么的一个很好的例子.
加载hoverIntent js文件后,您可以创建两个函数来打开/关闭将由hoverIntent作为回调调用的fancybox:
function openFancybox(){
$(this).trigger("click");
}
function closeFancybox(){
$.fancybox.close();
}
….然后你的hoverIntent自定义脚本:
$(".mini-view").hoverIntent({
sensitivity: 7,
interval:500,
timeout:0,
over: openFancybox,
out: closeFancybox
}); // hoverIntent
(请参阅微调设置的文档)
…最后,您的fancybox自定义脚本将如下所示:
$(".mini-view").fancybox({
'overlayShow' : false,
'autoScale' : true
}); // fancybox
SEE WORKING DEMO并随意浏览源代码.
侧面说明:
>为了简化代码,您实际上可以在一个步骤中将两个插件应用于同一个选择器:
$(".mini-view")
.fancybox({
'overlayShow' : false,
'autoScale' : true
})
.hoverIntent({
sensitivity: 7,
interval:500,
timeout:0,
over: openFancybox,
out: closeFancybox
});
>因为您在代码中使用的选项,我假设您使用的是fancybox v1.3.4.
更新[2015年3月]:
DEMO使用最新版本的Fancybox(v2.1.5)和hoverIntent(v1.8.0)
内容总结
以上是互联网集市为您收集整理的javascript – 在悬停时打开和关闭模态窗口,在失焦时关闭全部内容,希望文章能够帮你解决javascript – 在悬停时打开和关闭模态窗口,在失焦时关闭所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。