【发布时间】:2013-10-10 18:40:21
【问题描述】:
尝试在 Fancybox 2 中实现显示标题助手的一致行为。
我希望当鼠标指针位于花式框窗口(在 div.fancybox-wrap 元素内)上方时显示标题 - 仅此而已。
尝试使用来自用户 JFK 的example 的以下代码:
$(".fancybox").fancybox({
helpers: {
title: {
type: 'over'
}
},
afterShow: function () {
$(".fancybox-title").hide();
// shows/hides title on hover
$(".fancybox-wrap").hover(function () {
$(".fancybox-title").stop(true, true).slideDown(200);
}, function () {
$(".fancybox-title").stop(true, true).slideUp(200);
});
// detects if mouse is already hover
$(".fancybox-outer a, .fancybox-outer img").hover(function () {
$(this).data('timeout', setTimeout(function () {
$(".fancybox-title").stop(true, true).slideDown(200);
}, 100));
}, function () {
clearTimeout($(this).data('timeout'));
});
}
});
但是,上面的示例在 Chromium 浏览器中不起作用。当鼠标指针位于图像的一侧(左或右)并单击用于在图库中显示上一个或下一个时,标题会隐藏在新的图像上 - 直到指针移动一点。
知道如何让它在 Chrome/Chromium 中也能正常工作吗?在 Firefox 中没问题。
更新:当使用光标键调用下一张/上一张图像而鼠标指针仍在 .fancybox-wrap 内时,标题也会保持隐藏。也无法在 Chrome/Chromium 中工作。
更新 2: 我可以模拟所需的行为,而不是悬停,而是 mouseover 事件,但是它具有已知的令人不快的副作用,它会在进入/离开每个内部时触发元素。
【问题讨论】:
标签: javascript jquery css fancybox fancybox-2