我正在尝试使用jquery hover(),
突出显示图像映射区域我突出显示在区域上绝对定位的div,我正在尝试在悬停时显示div,但问题是当鼠标悬停在特定区域上时突出显示但即使鼠标移动也很快消失仍然在该地区徘徊,
知道我做错了什么,
<div class="highlight" id="first_area_highlight"></div>
<div class="highlight" id="second_area_highlight"></div>
<map name="worksMap" id="worksMap" class="map-areas">
<area id="first_area" shape="poly" coords="80,64,176,46,186,95" />
<area id="second_area" shape="rect" coords="196,107,272,222" />
.....
</map>
$(function() {
$('.highlight').hide();
var id;
$('area').hover(function() {
id = $(this).attr('id');
highlight(id);
},function() {
unHighlight(id);
});
function highlight(id) {
$('#' + id + '_highlight').show('slow');
}
function unHighlight(id) {
$('#' + id + '_highlight').hide('slow');
}
});
答案 0 :(得分:4)
.highlight
div与您的areas
重叠,当悬停在某个区域时,会突出显示突出显示,但它会消失,因为area
会丢失。
您可以做的是在area.mouseenter上显示.highlight
并在highlight.mouseleave上隐藏.highlight
。
以下是这个想法:
$('area')
.mouseenter(function() {
var id = $(this).attr('id');
$('#' + id + '_highlight').show('slow');
});
$('.highlight')
.mouseleave(function () {
$(this).hide('slow');
})
.hide();
答案 1 :(得分:1)
你可以试试Raphaël插件,我自己没试过,但这里是demo of hilighting image maps。