Jquery перемещает элемент над тегом 'a' - PullRequest
0 голосов
/ 02 сентября 2010

У меня есть элемент ссылки, и когда вы наводите курсор на него, появляется div. Этот div предназначен для элемента link. Когда я двигаю мышью, показывается мерцание div. Есть ли способ это исправить. Я предполагаю, что это потому, что div теперь покрывает элемент link.

Спасибо, C

Ответы [ 3 ]

2 голосов
/ 02 сентября 2010

Я полагаю, вы используете такой код:

$("a").hover(function () { // Enter
    $("div").show();
}, function () { // Leave
    $("div").hide();
});

В этом случае ваше предположение верно. Если div находится над a, то при нажатии div происходит отпуск мыши, поскольку мышь начинает работать с div, а не с a. Затем div скрывается, мышь снова вводит a ... И все начинается в другой раз.

Если вы можете избежать появления надписи div (например, с z-index), это будет проще.

В противном случае, я предлагаю вам сделать что-то вроде этого:

$("a").mouseenter(function () {
    $("div").show();
});

$("div").mouseleave(function () {
    $("div").hide();
});

Если ваша мышь всегда будет над div, когда она открыта, то она может закрыться, если мышь уйдет.

0 голосов
/ 02 сентября 2010

Спасибо.Вот код, который я сейчас использую ...

$ ('area, # map-zoom'). Hover (function () {$ ('# map-zoom'). Show ();
}, function () {$ ('# map-zoom'). Hide ();});

Я добавил функцию наведения к появившемуся div, а также.

0 голосов
/ 02 сентября 2010

Похоже, вы не тестируете, чтобы увидеть, виден ли div или нет. Вы проверяете видимость, используя следующий код:

if ($("div").is(":hidden")) {
    // make div visible here
}

Надеюсь, это поможет.

...