インタラクティブな米国の地図のページがあります。各状態は、データベースの設定に基づいて交換可能なイメージです(1つの大きなイメージやイメージマップではありません)。また、divのコンテンツを変更するためのクリック可能な要素として、順序付けされていないリスト(対応する状態の上に絶対的に配置されたアイテム)を設定しています。divには、独自のdiv内のすべてのコンテンツが含まれています。表示されるdivは、「アクティブ」のクラスを持つことに基づいています。スクリプトとマークアップはここで表示できます:https ://gist.github.com/3239999
png画像が重なっているため、画像自体が確実にクリック可能な要素になることはできませんが、可能であればリンクを指示する状態にしたかったのです。
要旨のコードはどこでも機能しますが、ニューイングランド/東海岸地域の小さな州のIEでは機能します。少しのz-index作業で解決できますが、完璧ではありません。場合によっては、まだ適切な場所をクリックする必要があります(すぐにはわかりません)。
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で赤い境界線を持つようにliのスタイルを設定しました。これは、問題のある領域がどこにあるかを確認するのに役立ちます。最悪ののはウェストバージニア州とバージニア州のようです。ある角度から抱き合っているので、z-indexを変更して修正することはできません。一方は常に他方と過度に重なります。