跳转到页面的不同区块时平滑滚动。
只需为任何包含 URL 片段、指向页面内部的链接添加 uk-scroll 属性,即可启用平滑滚动行为。
<a href="#my-id" uk-scroll></a>粘性元素(例如粘性导航栏)的高度会自动作为偏移量加到滚动目标上,因此目标不会被粘性元素遮住。
如果希望直接链接到页面中某个特定区块时使用统一的偏移量,添加 offset 选项。
<a href="#my-id" uk-scroll="offset: 100"></a>如果粘性元素本身已经产生偏移,offset 选项会在此基础上累加。
要在滚动完成时收到回调,可以监听触发滚动的链接元素上的 scrolled 事件。
<a id="js-scroll-trigger" href="#my-id" uk-scroll></a>UIkit.util.on('#js-scroll-trigger', 'scrolled', function () {
alert('Done.');
});<a id="js-scroll-trigger" class="uk-button uk-button-primary" href="#target" uk-scroll>Down with callback</a>
<script>
UIkit.util.on('#js-scroll-trigger', 'scrolled', function () {
alert('Done.');
});
</script>以下任意选项都可以应用到组件属性上。多个选项之间用分号分隔。了解更多
| 选项 | 值 | 默认值 | 描述 |
|---|---|---|---|
offset |
Number | 0 |
加到滚动顶部的偏移量。 |
了解关于 JavaScript 组件 的更多内容。
UIkit.scroll(element, options);以下事件会在绑定了该组件的元素上触发:
| 名称 | 描述 |
|---|---|
beforescroll |
在滚动开始之前触发。可以通过在事件上调用 preventDefault() 阻止滚动。 |
scrolled |
在滚动结束之后触发。 |
该组件提供以下方法:
UIkit.scroll(element).scrollTo(el);滚动到给定的元素。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
el |
Node, Selector | undefined | 要滚动到的元素。 |