Как мне применить скрипт наведения jQuery к классу div в наведенной ссылке?

#jquery #function #hover #this

#jquery #функция #наведите курсор #это

Вопрос:

Я не думаю, что мой вопрос настолько ясен, насколько мог бы быть, но, надеюсь, я смогу прояснить его здесь.

У меня есть следующий сценарий наведения курсора мыши:

 $("nav a#index").hover(
    function() {
        $(".current").animate({
            opacity: 1
        }, {
            duration: 300,
            specialEasing: {
                opacity: 'linear',
            },

        });
    }, function() {
        $(".current").animate({
            opacity: 0
        }, {
            duration: 3000,
            specialEasing: {
                opacity: 'linear',
            },

        });
    });
 

Я использую его для затухания изображений в div с абсолютным позиционированием:

 <div id="nav1">
     <a href="index.html" class="fade nav top current" id="index">

     <div class="nav-image"><img src="images/bodhi-leaf-green.png"></div>

     <div id="current"><img src="images/bodhi-leaf-green.png"></div>
     <div class="text"><img src="images/home.png"></div>

     </a>
</div>
 

Поскольку мне нужен эффект наведения на несколько навигационных разделов, например, nav2, nav3 и т. Д., Мне нужны скрипты наведения для каждого из них, или, скорее, я надеюсь найти способ написания одного скрипта, который будет работать для всех моих навигационных ссылок, так что это начнется с:

 $("nav a").hover(
 

и тогда получилось бы что-то вроде:

 function() {
            $(this ".current").animate({......
 

т. е. я ищу способ ссылки на класс div в конкретной ссылке a href, чтобы я мог скрыть это. Я надеюсь, что это понятнее!

Спасибо за любую помощь.

Ник

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

1. $("nav a") выглядит ошибочно… это должно быть похоже $("a.nav")

Ответ №1:

Изменить $(".current") на $(".current", this) : После этого изменения .current будет изменен только элемент внутри ссылки.
Измените селектор: div[id^=nav] будут выбраны все элементы DIV, идентификатор которых начинается с « nav »

Примечание: Измените id="index" на class="index" .

 $("div[id^=nav] a.index").hover(
function() {
    $(".current", this).animate({
        opacity: 1
    }, {
        duration: 300,
        specialEasing: {
            opacity: 'linear',
        },

    });
}, function() {
    $(".current", this).animate({
        opacity: 0
    }, {
        duration: 3000,
        specialEasing: {
            opacity: 'linear',
        },

    });
});
 

Ответ №2:

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

 $("a#index").hover(
function() {
    $(this).parent().find(".current").animate({
        opacity: 1
    }, {
        duration: 300,
        specialEasing: {
            opacity: 'linear',
        },

    });
}, function() {
    $(this).parent().find(".current").animate({
        opacity: 0
    }, {
        duration: 3000,
        specialEasing: {
            opacity: 'linear',
        },

    });
});