在鼠标悬停时显示隐藏图像
Show hidden image on mouseover
尝试在映射图像上实现悬停效果时遇到问题。我有一个带有映射区域的图像,我想在所有这些区域上悬停时显示不同的图像。
你可以在这里看到我目前的工作:
http://mantasmilka.com/map/pries-smurta.html
问题是当我将鼠标悬停在区域上时它显示图像,但是当我移动光标(不离开该区域)时它开始闪烁。它逐个像素占用 space 区域。
我已经尝试使用 Javascript 和 jQuery 解决方案:
Javascript:
mouseenter="document.getElementById('Vilnius').style.display = 'block';" mouseleave="document.getElementById('Vilnius').style.display = 'none';"
jQuery:
$('.hide').hide();
setTimeout(function(){
$("#area-kaunas").mouseenter(function(){
$('#Kaunas').show();
});
$("#area-kaunas").mouseleave(function(){
$('#Kaunas').hide();
});
}, 500);
为什么不直接在 jQuery 中使用 hover()
?我也不确定为什么要在 500 毫秒超时后绑定事件?
$('.hide').hide();
$("#area-kaunas").hover(function() {
$('#Kaunas').show();
}, function() {
$('#Kaunas').hide();
});
有一个名为 "pointer-event" 的 css 属性,它将值 "none" 赋予映射图像中重叠的 img 标签,并按您的需要工作。这是文档 https://developer.mozilla.org/en/docs/Web/CSS/pointer-events
问题永远是浏览器的兼容性。
尝试在映射图像上实现悬停效果时遇到问题。我有一个带有映射区域的图像,我想在所有这些区域上悬停时显示不同的图像。
你可以在这里看到我目前的工作:
http://mantasmilka.com/map/pries-smurta.html
问题是当我将鼠标悬停在区域上时它显示图像,但是当我移动光标(不离开该区域)时它开始闪烁。它逐个像素占用 space 区域。
我已经尝试使用 Javascript 和 jQuery 解决方案:
Javascript:
mouseenter="document.getElementById('Vilnius').style.display = 'block';" mouseleave="document.getElementById('Vilnius').style.display = 'none';"
jQuery:
$('.hide').hide();
setTimeout(function(){
$("#area-kaunas").mouseenter(function(){
$('#Kaunas').show();
});
$("#area-kaunas").mouseleave(function(){
$('#Kaunas').hide();
});
}, 500);
为什么不直接在 jQuery 中使用 hover()
?我也不确定为什么要在 500 毫秒超时后绑定事件?
$('.hide').hide();
$("#area-kaunas").hover(function() {
$('#Kaunas').show();
}, function() {
$('#Kaunas').hide();
});
有一个名为 "pointer-event" 的 css 属性,它将值 "none" 赋予映射图像中重叠的 img 标签,并按您的需要工作。这是文档 https://developer.mozilla.org/en/docs/Web/CSS/pointer-events
问题永远是浏览器的兼容性。