我有一个使用CSS3动画的条形图,当页面加载时动画当前会激活。
由于条形图在页面加载时不在视图中,因此您必须向下滚动才能看到它,并且当您到达它时,动画已经加载。 所以我想要做的是,当有人使用js滚动到它时激活CSS3动画。
以下是我想要做的一个示例:
我认为我在.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');
}
}
提前谢谢你们!
答案 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);