如何在视口中启动CSS3动画

时间:2013-08-21 07:11:18

标签: jquery html5 css3 animation scroll

我有一个使用CSS3动画的条形图,当页面加载时动画当前会激活。

由于条形图在页面加载时不在视图中,因此您必须向下滚动才能看到它,并且当您到达它时,动画已经加载。 所以我想要做的是,当有人使用js滚动到它时激活CSS3动画。

以下是我想要做的一个示例:

jsfiddle.net

我认为我在.js和.css中错过了什么或做错了什么。

    // Check if it's time to start the animation.
function checkAnimation() {
    var $elem = $('.skiller #skill');

    // If the animation has already been started
    if ($elem.hasClass('html5')) return;

    if (isElementInViewport($elem)) {
        // Start the animation
        $elem.addClass('html5');
    }
}

提前谢谢你们!

1 个答案:

答案 0 :(得分:1)

这就是我的表现:

function isElementInViewport(){
            var scrollTop = $(window).scrollTop();
            var viewportHeight = $(window).height();
            $('.skiller #skill:not(.html5)').each(function(){
                var top = $(this).offset().top;
                if(scrollTop + viewportHeight >= top ){
                    $(this).addClass('html5');
                }
            });
        }
$(isElementInViewport);
$(window).scroll(isElementInViewport);