【发布时间】:2012-02-27 07:25:46
【问题描述】:
我有这个简单的 JavaScript 可以让隐藏的 div 出现在 img 上悬停:
document.onmouseover = quickView;
function quickView(e) {
(!e) var e = window.event;
var target = e.target || e.srcElement;
var bWide = window.innerWidth || document.documentElement.clientWidth;
if(target.className == 'p-image') {
var dTarg = target.parentNode.lastChild;
dTarg.style.visibility = 'visible';
dTarg.style.top = (target.parentNode.offsetTop - 110) + 'px';
if (target.parentNode.offsetLeft < (bWide * .5)) {
dTarg.style.left = (target.parentNode.offsetLeft + 185) + 'px';
}
if (target.parentNode.offsetLeft >= (bWide * .1801)) {
dTarg.style.left = (target.parentNode.offsetLeft - 497) + 'px';
}
target.onmouseout = hideQuickView;
}
}
function hideQuickView(e) {
if (!e) var e = window.event;
var target = e.target || e.srcElement;
target.parentNode.lastChild.style.visibility = 'hidden';
}
我需要添加fadein 和fadeout 效果,而不仅仅是可见/隐藏。
fadein 的延迟也会很棒。我知道一些 jQuery,但这是旧 JS,如何添加淡入淡出效果?
非常感谢
编辑: 我设法淡入hiddendiv,但它不会总是淡入淡出。如果我将鼠标快速移动到另一个隐藏的 div,效果将不再起作用。我需要等待一段时间才能让淡入淡出再次起作用。我的意思是代码不是一个准确的解决方案。 正如我所说,悬停类称为p-image,隐藏类称为quickview。 这是 jQuery,但如果我能以某种方式编辑原始 JavaScript 以在其中包含延迟淡入淡出,我会更喜欢。
$(document).ready(function(){
$(".p-image").hover(function () {
jQuery(".quickview").css("opacity", .20);
jQuery(".quickview").fadeTo(430, 1);
});
return true;
});
【问题讨论】:
标签: javascript jquery