元素对用户可见时的动画计数
Count Up Animation when element is visible for the user
我有一个问题,我现在在多个元素上使用的计数动画,第一个元素只开始一次。
我还试图在html中设置"计数到"值。有没有一种简单的方法可以将它们加载到每个元素的js中?
最后,当div对用户可见时,我试图通过向下滚动来启动向上计数动画。当它可见时,它应该在运行动画一次后保持原样。
只有当用户将元素滚动到可见性之外时,它才应该重置并在再次可见时重新启动。
有人知道我该怎么解决吗?
代码在这里:
http://jsfiddle.net/drfux88/aJrj4/32/
function animateValue(id, start, end, duration) {
var obj = document.getElementById(id);
var range = end - start;
var minTimer = 50;
var stepTime = Math.abs(Math.floor(duration / range));
stepTime = Math.max(stepTime, minTimer);
var startTime = new Date().getTime();
var endTime = startTime + duration;
var timer;
function run() {
var now = new Date().getTime();
var remaining = Math.max((endTime - now) / duration, 0);
var value = Math.round(end - (remaining * range));
obj.innerHTML = value;
if (value == end) {
clearInterval(timer);
}
}
timer = setInterval(run, stepTime);
run();
}
animateValue("value", 0, 75, 2000);
动画第一次开始后,您可以向元素添加一个类,然后使用:not选择器选择该元素。例如,选择动画div,如下所示:
$('.animation_div:not(.animating)');
稍后动画开始时:
$('.animation_div').addClass('animating');
相关文章:
- 从用户输入中制作数组动画,如打字机(javascript)
- 在用户用动画滚动175像素后缩小固定的Div
- 当用户在输入字段事件中输入内容时,为该字段事件添加动画占位符
- 元素对用户可见时的动画计数
- JavaScript:当用户滚动时对滚动进行动画处理
- 如何为用户加载大型动画 gif
- 有没有办法防止用户交互暂停动画
- jQuery Turnbox.JS -动画没有用户交互
- 在用户完成滚动主体后为scrollTop动画
- 当用户点击时,在css动画中检测点
- 在用户切换到选项卡后显示动画
- 每次用户刷新页面时不同的JS动画
- 在SVG和HTML中使用用户输入绘制和动画三角形
- 当用户悬停在画布上时创建动画
- 当用户向下滚动页面并显示动画时,如何模拟一个页面布局
- 当时间接近零时,通过改变计时器的颜色或动画通知用户
- 如何在用户滚动到页面部分时触发动画
- 让Adobe Edge-animation一次播放一次仅当用户查看动画所在的部分页面时
- 使用jQuery为用户悬停时的工具提示制作动画
- 在允许用户上传指导画布动画的Javascript文件时,应该实施哪些安全限制?