如何将锚标记与图像映射相关联?
假设,我将鼠标悬停在一个锚标记上,它应该选择图像上的映射区域。
像这样的http://myffi.biz/。这是在闪存中,但是可以使用图像映射来完成吗?您将鼠标悬停在链接上,它应该选择图像上的映射区域。
这可能吗?我希望我很清楚
如何将锚标记与图像映射相关联?
假设,我将鼠标悬停在一个锚标记上,它应该选择图像上的映射区域。
像这样的http://myffi.biz/。这是在闪存中,但是可以使用图像映射来完成吗?您将鼠标悬停在链接上,它应该选择图像上的映射区域。
这可能吗?我希望我很清楚
是的,它可以在没有 Flash 的情况下完成,但您根本不需要图像映射。只需在地图上正确的图像中添加一个悬停事件fadeIn,这用jQuery很容易做到。像这样的东西可能会起作用:
<ul class="region">
<li><a href="#" id="europe">Europe</a></li>
<li><a href="#" id="asia">Asia</a></li>
<li><a href="#" id="africa">Africa</a></li>
<li><a href="#" id="australia">Australia</a></li>
</ul>
<div id="region-map">
<div id="region-overlay"></div>
</div>
在 CSS 中,您将 定义region-map
为具有未选择区域的背景,并且选择region-overlay
了不同的区域。
#region-map, #region-overlay {
width: 640px;
height: 320px;
}
#region-map {
background: url(map-base.jpg) 0 0 no-repeat;
}
#region-overlay.europe {
background: url(map-europe.jpg) 0 0 no-repeat;
}
#region-overlay.asia {
background: url(map-asia.jpg) 0 0 no-repeat;
}
#region-overlay.africa {
background: url(map-africa.jpg) 0 0 no-repeat;
}
#region-overlay.australia {
background: url(map-australia.jpg) 0 0 no-repeat;
}
所需的 jQuery 代码:
$(function() {
$('ul.region a').hover(function() {
// Get the current region
var region = $(this).attr('id');
// Hide the current overlay, change it's map and change it back.
$('#region-overlay').fadeOut(200, function() {
$(this).attr('class', region).fadeIn(200);
});
}, function() {
// Hide the overlay
$('#region-overlay').fadeOut(200);
});
});
这并不完美,但应该让你开始。
可以在以下位置找到一个工作示例: