我有一個美國互動地圖的頁面。每個狀態是基於數據庫設置可互換的圖像(它不是一個大圖像和/或圖像映射)。我也有一個無序列表(項目絕對位於其相應的狀態)設置爲可點擊元素來更改div的內容。 div包含他們自己的div中的所有內容;其中顯示div是基於一類「活躍」。 腳本和標記可以看這裏:https://gist.github.com/3239999 (我知道我可以腳本這減少冗餘代碼...裸陪我現在:-))與JQuery互動美國地圖
由於PNG圖像的重疊時,圖像本身不能可靠地成爲可點擊元素,但我希望狀態在可能的情況下指向鏈接。
該要點的代碼無處不在,但在IE瀏覽器爲新英格蘭/東海岸地區的小州。我可以用一點Z指數工作來解決它,但這並不完美。在某些情況下,你必須點擊仍然正確的位置(這不是很明顯)。
我打開只爲IE使用不同的腳本,但我似乎無法改變它只使用li作爲指標,並在IE中工作。 我曾經嘗試這樣做沒有成功:
<script type="text/javascript">
$(document).ready(function() {
switchers = $('#switchers > li');
states = $('#state_info > div');
switchers.each(function(idx) {
$(this).data('state', states.eq(idx));
}).click(function() {
switchers.removeClass('active');
states.removeClass('active');
$("#_" + $(this).attr('id')).addClass('active');
$("#_" + $(this).attr('id')).data('state').addClass('active');
});
});
</script>
我不是在jQuery精明,因爲我想成爲,尤其是解決跨瀏覽器的問題。
任何人都可以幫助我更好地工作嗎?
你可以看到這裏的大部分工作版本:http://www.envisiondemo.com/lookout/state-and-federal-i-9-compliance/
實際的網站是活的,但我使用的是演示服務器進行測試。我已經在IE中設計了一個紅色的邊框,它可以幫助你看到問題所在的地方。看來最糟糕的是西弗吉尼亞和弗吉尼亞。由於他們從一個角度相互擁抱,我不能改變z-index來修復它。一個將永遠與另一個過度重疊。
任何想法?提前致謝!
用SVG代替它 – Radu 2012-08-02 21:37:43
Hey Radu,你能否詳細說明你的意思是「用SVG做它」? – user1572393 2012-08-03 16:05:08
我已經將SVG理解爲一種圖像類型......它似乎被用作網頁的閃光解決方案。 – user1572393 2012-08-07 15:14:25