Ошибка мыши - PullRequest
       21

Ошибка мыши

0 голосов
/ 21 июля 2010

У меня есть скрипт всплывающей подсказки, который использует функцию jickery mousemove. Все работает нормально, ожидаем для IE. Посмотрите здесь: http://omarabid.com/deploy/ Прямоугольники являются элементами "li". Когда вы наводите курсор мыши, появляется тег. В IE тег появляется, но только если вы наведите курсор мыши на пустую область (справа). Когда вы перемещаете изображение, ничего не происходит, что сводит меня с ума.

Похоже, когда указатель входит в зону изображения, тег исчезает с fadeout (), как если бы мышь выходила из области (что не соответствует действительности!)

Так в чем же проблема? Это ошибка IE?

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Фактическая проблема заключается в background-color:transparent в классе тегов ( вместо этого установите цвет фона, и вы увидите, что он работает).

используйте вместо этого прозрачное фоновое изображение размером 1x1, и все будет в порядке ..


объяснение

удалите background-color: transparent и на его место положите background: url(/somepath/transparent.gif) top left repeat;

этот transparent.gif должен иметь размеры 1px x 1px и быть прозрачным. ( вот ссылка на скачивание для одного: http://www.imgag.com/product/full/ap/3021018/transparent.gif)

1 голос
/ 21 июля 2010

Как только ваша DOM загружена, у вас есть это на вашей странице:

<div id="photo1" class="taggedimg">
    <img id="atag" src="img/photo1.jpg">
    <li style="top: 0px; left: 0px; height: 45px; width: 77px; margin-top: 15px; margin-left: 0px; " class="tag mytag"></li>
    <li style="top: 55px; left: 45px; height: 340px; width: 960px; margin-top: 15px; margin-left: 0px; " class="tag mytag"></li>
</div>

Мне кажется это утомительным ...

Попробуйте запретить поведение по умолчанию с помощью:

li.mouseenter(function(kmouse) {
    kmouse.preventDefault();
    my_tooltip.css({
        opacity : 0.8,
        display : "none"
    }).fadeIn(400);
}).mousemove(function(kmouse){
    kmouse.preventDefault();
    my_tooltip.css({
        left : kmouse.pageX + 15,
        top : kmouse.pageY + 15
    });
}).mouseleave(function(kmouse) {
    kmouse.preventDefault();
    my_tooltip.fadeOut(400);
});

в imgtag / core.js

0 голосов
/ 21 июля 2010

Я столкнулся с подобной проблемой. Попробуйте использовать mouseenter и mouseleave вместо наведения мыши и мыши

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...