calculate
方法用于计算滚动条的位置和滚动目标元素的位置,并通过动画滚动到目标位置。该方法执行时会触发 start
事件和 end
事件。
seekBehavior.calculate(target, duration, offset);
target
:目标元素,可以是一个 HTML 元素或者是一个 jQuery 对象。duration
:动画持续时间,单位毫秒。默认值为 500。offset
:目标元素的偏移量,即滚动至目标元素时,相对于元素顶部的距离。默认值为 0。<!-- HTML 结构 -->
<div id="container">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
</div>
// 初始化
var yuka = new Yuka('#container');
// 绑定事件
yuka.bind('start', function() {
console.log('开始滚动');
}).bind('end', function() {
console.log('滚动结束');
});
// 执行 calculate 方法
yuka.seekBehavior.calculate($('#container li:eq(2)'), 1000, 100);
在执行 calculate
方法时,会触发两个事件:start
事件和 end
事件,分别表示滚动开始和结束。可以通过 bind
方法来绑定这两个事件。
yuka.bind('start', function() {
console.log('开始滚动');
}).bind('end', function() {
console.log('滚动结束');
});
start
事件会在滚动开始时触发,它没有任何参数。
end
事件会在滚动结束时触发,它没有任何参数。
如果 target
参数不是一个有效的元素,则会抛出一个异常。
如果 duration
参数不是一个有效的数字,则默认为 500 毫秒。
如果 offset
参数不是一个有效的数字,则默认为 0。