我的目標是在屏幕上顯示圖像,並且當用戶將鼠標懸停在各種多邊形上時,它們將在它們所在的多邊形上覆蓋藍色覆蓋。製作疊加圖像映射的更好方法?
拿這個圖像爲例:
我想象寫這樣的代碼:
<img src="planets.gif" width="145" height="126" usemap="#polymap">
<img id="StarOverlay" src="StarOverlay.png" style="position:absolute;top:30px;left:59px;display:none;"/>
<map name="polymap">
<area id="star" shape="poly" coords="0,0,82,126" alt="Star">
<area shape="circle" coords="90,58,3" alt="Circle">
<area shape="Rectangle" coords="124,58,8" alt="Square">
<area shape="Rectangle" coords="124,58,8" alt="Square">
</map>
$(document).ready(function() {
$('#star').hover(function() {
$('#StarOverlay').show();
}, function() {
$('#StarOverlay').hide();
});
});
不過,我需要進行非常詳細的覆蓋每個並採取很特別關心映射。我需要做15個圖像,每個圖像超過40個映射,所以這將非常耗時(我估計它會花費我一個月或更長的時間)。
有沒有比HTML5更好的方法?或任何其他HTML功能來實現這一點,而不必在Photoshop中創建這些地圖和圖像覆蓋?
您可以參考https://css-tricks.com/examples/ShapesOfCSS/並使用css創建各種形狀 – brk
好主意,但我應該清楚。我不會總是有完美的幾何形狀。有沒有辦法用點來定義一個poly? – Jrud
我會說你對SVG更好 - 無論是涉及到瀏覽器支持還是易用性(從開發人員的角度來看)。甚至可用性方面,因爲你可以直接使用put鏈接,https ://www.w3.org/wiki/SVG_Links – CBroe