當我點擊的第一次,出現的動畫,但在向下滾動時不會發生skill-set
鏈接。當用戶向下滾動頁面時,每個圓圈將開始它自己的動畫。如果你點擊兩次skill-set
鏈接,但是一切都按照它應有的方式工作。
所以我的問題是,爲什麼動畫on scroll
發生在第一次點擊skill-set
鏈接?
這是我所說的DEMO,請原諒可怕的佈局。點擊skill-set
鏈接後,您會看到動畫發生,但向下滾動時,動畫已完成...但是,如果您單擊兩次鏈接skill-set
,然後向下滾動,則會看到每個圓圈都有動畫向下滾動。這是第一次鏈接被點擊時應該發生的情況,但由於某些奇怪的原因,它不是。
JS:
$('#skill-set-link').click(function() {
function animateElements(index, element) { // (e, init)
if (element) { // (init)
$('.progressbar').data('animate', false);
}
$('.progressbar').each(function() {
var elementPos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
var percent = $(this).find('.circle').attr('data-percent');
var percentage = parseInt(percent, 10)/parseInt(100, 10);
var animate = $(this).data('animate');
if (elementPos < topOfWindow + $(window).height() + 10 && !animate) {
$(this).data('animate', true);
$(this).find('.circle').circleProgress({
startAngle: -Math.PI/2,
value: percent/100,
thickness: 2, // Change this for thickness
fill: {
color: '#16A085'
}
}).on('circle-animation-progress', function (event, progress, stepValue) {
$(this).find('.percent').text((stepValue * 100).toFixed(0) + "%"); // NOTE: Change '.toFixed(0)' to '.toFixed(1)' to get 1 decimal place to the right...
}).stop();
}
});
}
animateElements({}, true);
$('.about_body_wrapper').scroll(animateElements);
});
=================================== ============================================================
任何想法爲什麼動畫on scroll
第一次鏈接被點擊時不會發生?
不知道如何解決它,但animateElements第一次運行時,每個進度條的elementPos爲零。我認爲這是因爲這是那些對象的狀態(即隱藏),當鏈接被點擊時。 –