我希望进度条开始动画时,它被查看
i want the progress bar start animation when it is viewed
嘿,我有一个问题…当涉及到viewport ....时,我想开始progressbar progress与百分比文本和栏....演示在这里
$('.bar-percentage[data-percentage]').each(function () {
var progress = $(this);
var percentage = Math.ceil($(this).attr('data-percentage'));
$({countNum: 0}).animate({countNum: percentage}, {
duration: 3000,
easing:'swing',
step: function() {
// What todo on every count
var pct = '';
if(percentage == 0){
pct = Math.floor(this.countNum) + '%';
}else{
pct = Math.floor(this.countNum) + "%";
}
progress.text(pct) && progress.siblings().children().css('width', pct);
}
});
});
http://cssdeck.com/labs/percentage-bar 这对你来说是完整的功能,有了这段代码,你的进度条在第一次查看时开始动画,然后不再动画
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
var IsViewed = false;
$(document).scroll(function () {
if(isScrolledIntoView('#bar-1') && !IsViewed){
$('.bar-percentage[data-percentage]').each(function () {
var progress = $(this);
var percentage = Math.ceil($(this).attr('data-percentage'));
$({countNum: 0}).animate({countNum: percentage}, {
duration: 2000,
easing:'linear',
step: function() {
// What todo on every count
var pct = '';
if(percentage == 0){
pct = Math.floor(this.countNum) + '%';
}else{
pct = Math.floor(this.countNum+1) + '%';
}
progress.text(pct) && progress.siblings().children().css('width',pct);
}
});
});
IsViewed = true;
}
});
相关文章:
- 如何在上一个动画结束后开始动画
- 反应点击开始动画 + 第一个动画完成后开始另一个动画
- 边缘动画从JS开始动画
- 如何在父动画开始时激发jquery子函数
- 在Raphael JS中,不透明度:0和开始动画到不透明度:1之间的延迟
- 如何将开始和结束位置应用于jquery视差动画
- 开始使用javascript中的动画排版/粒子(将粒子映射到单词)
- 在动画开始之前更新animate属性
- 从头开始的Javascript动画
- 开始按钮用于启用和恢复动画,而无需在双击时再次重复该功能(javascript)
- SVG 文本路径 - 动画开始偏移量(文本向下滑动 SVG 路径) - 在 JS 中
- 只有当我使用 vivus.js 到达底部时,我的 svg 动画才会开始
- 使用带有突发引擎和画布的“开始”按钮重新启动动画
- AngularJS动画带有回调,等待下一个动画开始
- 在动画开始时改变元素高度(Angular)
- jQuery TopDistance动画开始
- CSS3动画开始时,悬停在一个不同的元素
- Angular - ngAnimate - Animate.项目首先显示,然后动画开始
- 动画开始有延迟
- 关于函数和动画开始/动画结束事件的jQuery问题