JQuery - сделайте это, если вы НЕ. - PullRequest
2 голосов
/ 08 декабря 2010
cardh = 0

$('.cardgreen > img').hover(function () {
    if (cardh == 0) {
        $('.card > img').animate({ height: 150, width: 193, opacity: '1', left: 0, top: 9 }, 500);
        $('.anfahrtlink').animate({ opacity: '0' }, 500).animate({ width: 0 }, 0);
        $('.cardgreen > img').animate({ opacity: '0' }, 500).animate({ opacity: '1' }, 500);
        cardh = 1
    }
});

$('.cardgreen > img').notanymore().hover(function () {
    if (cardh == 1) {
        $('.cardgreen > img').animate({ opacity: '0' }, 300);
        $('.anfahrtlink').animate({ width: 84 }, 0).animate({ opacity: '1' }, 500);
        $('.card > img').animate({ opacity: '1' }, 300).animate({ opacity: '0', width: 0, height: 0, left: 194, top: 75}, 270);
        cardh = 0
    }
});

Как сказать JQuery: ДЕЛАЙТЕ ВТОРОЕ, когда вы больше не зависаете над div> img ..?

Ответы [ 2 ]

4 голосов
/ 08 декабря 2010

Вторая функция, которую вы передаете .hover() - это обработчик mouseleave, например:

$('.cardgreen > img').hover(function() {
  $('.card > img').animate({height: 150, width: 193, opacity: '1', left: 0, top: 9},500)
  $('.anfahrtlink').animate({opacity: '0',},500).animate({width:0},0);
  $('.cardgreen > img').animate({opacity: '0'},500)
                       .animate({opacity: '1'},500);
}, function() {
    $('.cardgreen > img').animate({opacity: '0'},300);
    $('.anfahrtlink').animate({width:84},0).animate({opacity: '1',},500)
    $('.card > img').animate({opacity: '1'},300)
                    .animate({opacity: '0', width: 0, height: 0, left:194, top:75},270);
});

.hover() занимает 2 обработчика -для mouseenter и mouseleave или, как у вас, одного обработчика, который оба .Но так как вам нужно поведение при наведении и удалении ... используйте версию обработчика 2.

2 голосов
/ 08 декабря 2010

метод jQuery .hover() может принимать 2 аргумента (см. Здесь: http://api.jquery.com/hover/).

.hover( handlerIn(eventObject), handlerOut(eventObject) )

handlerIn (eventObject) - Функция, выполняемая, когда указатель мыши входит в элемент. handlerOut (eventObject) - Функция, выполняемая, когда указатель мыши покидает элемент.

...