Jquery - наведите курсор мыши -> Fade In / Out // щелкните -> непрозрачность 100% // другой щелчок -> непрозрачность 60 - PullRequest
1 голос
/ 23 мая 2009

Я работаю над сайтом с jquery и миниатюрами.

Когда страница загружена, все эскизы должны быть на 60% непрозрачности. Как только вы наводите указатель мыши на большой палец, он должен исчезнуть до 100%, а если вы двигаете мышью наружу, миниатюра должна постепенно исчезнуть на 60% непрозрачности.

Когда пользователь нажимает на миниатюру, она должна оставаться с непрозрачностью 100%. Как только пользователь нажимает на другую миниатюру, «старая» миниатюра должна исчезнуть до 60%, а «новая» должна остаться на 100%. (он уже имеет непрозрачность 100%, потому что вы наводите на него мышью).

Это код, который у меня есть:

$(window).bind("load", function() {
$("#mycarousel li").fadeTo(1, 0.6);

$("#mycarousel li").hover(function(){
    $(this).fadeTo(350, 1.0);
    $(this).addClass('Active');
    },function(){
    $("this:not('.Active')").fadeTo(350, 0.6);
});
});

Любая помощь будет оценена.

ПОЗДРАВЛЕНИЯ, Bas

1 Ответ

7 голосов
/ 23 мая 2009
$(window).bind("load", function() {
    var activeOpacity   = 1.0,
        inactiveOpacity = 0.6,
        fadeTime = 350,
        clickedClass = "selected",
        thumbs = "#mycarousel li";

    $(thumbs).fadeTo(1, inactiveOpacity);

    $(thumbs).hover(
        function(){
            $(this).fadeTo(fadeTime, activeOpacity);
        },
        function(){
            // Only fade out if the user hasn't clicked the thumb
            if(!$(this).hasClass(clickedClass)) {
                $(this).fadeTo(fadeTime, inactiveOpacity);
            }
        });
     $(thumbs).click(function() {
         // Remove selected class from any elements other than this
         var previous = $(thumbs + '.' + clickedClass).eq();
         var clicked = $(this);
         if(clicked !== previous) {
             previous.removeClass(clickedClass);
         }
         clicked.addClass(clickedClass).fadeTo(fadeTime, activeOpacity);
     });
});
...