我正在尝试修改名为fullpage.js的库,以便在动画发生时向控制台输出每个动画步骤的值。
这是管理动画的实际功能:
$(scrolledElement).animate(scrollOptions, options.scrollingSpeed, options.easing, function () {
continuousVerticalFixSectionOrder();
$.isFunction(options.afterLoad) && !localIsResizing && options.afterLoad.call(this, anchorLink, (sectionIndex + 1));
setTimeout(function () {
isMoving = false;
$.isFunction(callback) && callback.call(this);
}, scrollDelay);
});
我的步骤功能是这样的:
step: function(){
var currentTop = $("#superContainer").offset().top;
console.log( "Left: ", currentTop );
};
我尝试了很多组合,但仍然没有猜到在不破坏代码的情况下把它放在哪里。
很抱歉打扰,我想这是一个菜鸟问题,但我花了4个小时没有结果。 谢谢大家!
阿奇
答案 0 :(得分:2)
请参阅this section in the documentation:
.animate( properties, options )
properties
和options
是两个对象,steps
必须是options
上的属性。所以你的代码变成了
$(scrolledElement).animate(
scrollOptions,
{
duration: options.scrollingSpeed,
easing: options.easing,
step: function() {
// ...
},
complete: function () {
continuousVerticalFixSectionOrder();
// ...
}
}
);
答案 1 :(得分:1)
$(scrolledElement).animate(
scrollOptions
, { step: function(){
var currentTop = $("#superContainer").offset().top;
console.log( "Left: ", currentTop );
}
}, options.scrollingSpeed, options.easing, function () {
//fix section order from continuousVertical
continuousVerticalFixSectionOrder();
//callback (afterLoad) if the site is not just resizing and readjusting the slides
$.isFunction(options.afterLoad) && !localIsResizing && options.afterLoad.call(this, anchorLink, (sectionIndex + 1));
setTimeout(function () {
isMoving = false;
$.isFunction(callback) && callback.call(this);
}, scrollDelay);
});
享受, 洛