Как добавить эффект затухания в следующую функцию слайдера jQuery? - PullRequest
1 голос
/ 03 ноября 2011

У меня есть эта функция слайд http://jsfiddle.net/g7LwM/1/

Как добавить к нему эффект затухания? Так, когда он скользит вниз, он исчезает, а когда он скользит вверх, он исчезает?

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

Ответы [ 5 ]

3 голосов
/ 03 ноября 2011

Вам нужна анимация: http://jsfiddle.net/manseuk/g7LwM/7/

$(document).ready(function () {
    $("#trigger").click(function () {
        $("#test").animate({opacity: 'toggle', height: 'toggle'});
    }); 
})

Вы также можете добавить в продолжительность:

$("#test").animate({opacity: 'toggle', height: 'toggle'},'slow');
3 голосов
/ 03 ноября 2011

Использование Функция jQuery .animate():

$(document).ready(function() {
    $("#trigger").click(function() {
        $('#test').animate({
            opacity: 'toggle',
            height: 'toggle'
        }, "slow");
    });
});

Вот рабочая скрипка .

Дополнительные ресурсы:

Если вам интересно, на этом сайте есть несколько отличных учебных пособий, которые помогут вам ознакомиться с jQuery .animate(): http://vandelaydesign.com/blog/web-development/jquery-animation-tutorials/

1 голос
/ 03 ноября 2011

Цепные функции действительно удобны, но когда дело доходит до анимации, это немного раздражает, потому что они будут выполнять их по порядку.

Чтобы одновременно исчезать и скользить, используйте animate().

 $('#element').animate({ opacity: 'toggle', height: 'toggle' }, "slow", callback_function);       
         or
   The best thing you can do is to write your own animation for it, something in line with:

     var slideDuration = 1000;

        var slideInAnimation = {        
            opacity: 1,    
            height: 'toggle'
        }

        var slideOutAnimation = {       
            opacity: 0,    
            height: 'toggle'
        }

        $('#anotherDiv').hover(function() {
            $('#myDiv').css("opacity", "0").animate(slideInAnimation, slideDuration);
        }, function() {
            $('#myDiv').animate(slideOutAnimation, slideDuration);
        });

   more link:
    http://api.jquery.com/animate/        
    http://www.openstudio.fr/Animated-InnerFade-with-JQuery.html?lang=en
1 голос
/ 03 ноября 2011

Немного опоздал на вечеринку, но у меня все получилось:

http://jsfiddle.net/g7LwM/9/

То же, что и у других, используйте animate для высоты и непрозрачности, однако я не понимал, что вы можете переключатьсяих - +1 к остальным за это.

0 голосов
/ 07 августа 2014

Я не уверен, что это эффективный способ .... но он работает .... !!

Вот магия:

HTML-код:

<div id="frame">


<img src="image.jpg" />


</div>

В CSS:

установить display:none для "#frame" и "img" ....

В JS:

$(document).ready(function(){

    $("img").fadeIn(2000);

    $("#frame").slideDown(1000);

});
...