Я пытаюсь создать интерактивную карту с наложением, используя карты изображений HTML.
Чтобы увидеть это, пожалуйста, посетите: http://www.surge.ca/testing/WFA2100/index.html
Объяснение:
Когда вы наводите курсор мыши на <area>
карты, она вызывает наложение со ссылками.
Чтобы предотвратить наложение оверлея при его перемещении, поскольку вы больше не зависаете над областью, я использую setTimeout
до того, как оно закроет оверлей.
Проблема:
Это работает так, как я хочу в любом браузере, кроме IE.
В IE 7 и 8, когда вы наводите курсор на оверлей, который находится над другим <area>
, он сразу переключается на оверлей этого <area>
.
Сначала я подумал, что это проблема с z-индексом, когда z-индекс <area>
был выше оверлея, но я думаю, что мой z-индекс настроен правильно. Я также думаю, что это может быть просто, как IE обрабатывает карты изображений?
Код:
Вот код, который устанавливает события.
jQuery(function($){
// binds mouseenter and mouseleave to <area>
$('area').bind('mouseenter',function(){
sectionNum = this.hash;
sectionNum = sectionNum.replace(/#/,'');
showOverlay(sectionNum);
clearTimeout(timer);
}).bind('mouseleave', function(){
timerClose();
});
$('.map_info').bind('mouseenter', function(){
clearTimeout(timer);
}).bind('mouseleave', function(){
timerClose();
});
});
// sets timer before closing to allow cancel
var timer;
function timerClose(){
timer = setTimeout(function(){hideOverlay();},500);
}