10

例: http://www.chartjs.org/

下にスクロールすると、各記事がブラウザのビューポートに入ると表示されます。CSSは

#examples article {
    -webkit-transition: opacity 200ms ease-in-out;
    -ms-transition: opacity 200ms ease-in-out;
    -moz-transition: opacity 200ms ease-in-out;
    -o-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;
    position: relative;
    margin-top: 20px;
    clear: both;
}

このcssを試しましたが、うまくいきません。css と一緒に動作する JavaScript はありますか? この種の scroll->fadeIn 効果を実現するにはどうすればよいですか?

4

4 に答える 4

25

Demo Fiddle

Do you want something like this ?

   $(window).scroll(function () {

        /* Check the location of each desired element */
        $('.article').each(function (i) {

            var bottom_of_object = $(this).position().top + $(this).outerHeight();
            var bottom_of_window = $(window).scrollTop() + $(window).height();

            /* If the object is completely visible in the window, fade it it */
            if (bottom_of_window > bottom_of_object) {

                $(this).animate({
                    'opacity': '1'
                }, 500);

            }

        });

    });
于 2013-03-23T18:29:13.977 に答える
6

モハメッドの答えは、絶対位置の画像を考慮していません...位置の代わりにオフセットを使用する必要があります

$(window).scroll(function () {

    /* Check the location of each desired element */
    $('.article').each(function (i) {

        var bottom_of_object = $(this).offset().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();

        /* If the object is completely visible in the window, fade it it */
        if (bottom_of_window > bottom_of_object) {

            $(this).animate({
                'opacity': '1'
            }, 500);

         }
     });
});
于 2014-04-16T16:40:09.587 に答える