jQuery: наведите курсор мыши на ‘body’ и избегайте элемента ‘menu’

#jquery

#jquery

Вопрос:

есть ли возможность использовать mousemove в ‘body’ и в то же время избегать элемента DOM, такого как div ‘menu’? Идея состоит в том, чтобы показать стрелку ‘prev’ или ‘next’ в фоновом режиме, но скрыть ее -> если мы вводим элемент menu.

Я пробовал это :

$(‘body’).not(‘#menu’).bind(‘mousemove’, функция(e){

но из этого ничего не вышло…

Ответ №1:

Попробуйте это:

 $('body').bind('mousemove', function(e){
 // Your Code to handle Mouse Move Globally.
});

$('#menu').bind('mousemove', function(e){
 // Your Code to handle Mouse Move on the #Menu.
 //##################
  e.stopPropagation();
});
  

Комментарии:

1. нет, это не работает, я пробовал ‘display none’ для разделов, содержащих кнопки prev и next, но они все еще видны… $(this).css({‘cursor’:’указатель’}); $(‘#prev, #next’).css({‘display’:’none’});

2. @Paul: Если вы не опубликуете код, который используете, очень сложно проанализировать причину ошибки.

3. @Cybernate: Хорошо, извините, я неправильно использую ‘отступ’ и прочее в окне комментариев, поэтому код здесь обычно беспорядочный 😉 мой код : >$(‘body’).bind(‘mousemove’, function(e){ var deuxTiers = $(window). width()*(2/3), unTiers = $(окно). width()*(1/3), zoneYmin = $(окно). высота()*(1/3), zoneYmax = $ (окно). height()*(2/3) 100, marge = 15, PosX = e.pageX-marge, posY = e.pageY-marge; (смотрите следующий комментарий …)

4. если (например,pageX> deuxTiers amp; e.pageY> zoneYmin amp; e.pageY<zoneYmax) { $(‘#prec’).fadeOut(); $(‘#suiv’).fadeIn(); $(‘#suiv’).css({‘left’:PosX, ‘top’:posY, ‘cursor’:’none’}) } else если (e .pageX<unTiers amp; e.pageY>zoneYmin amp; e.pageY<zoneYmax) { $(‘#prec’).fadeIn(); $(‘#suiv’).fadeOut(); $(‘#prec’).css({‘left’: PosX, ‘top’: posY, ‘cursor’:’none’}) } else { $(‘#prec, #suiv’).css({‘display’:’none’}); } }); >$(‘# conteneur’).bind(‘mousemove’, функция(e){ $(this).css({‘cursor’:’pointer’}); $(‘#prec, #suiv’).css({‘display’:’none’}); e.stopPropagation(); });

5. Я быстро вставил некоторый HTML в соответствии с JS, и элементы #prec, #suiv становятся скрытыми, когда я навожу курсор мыши на #conteneur