滑块

创建项目列表以用作响应式轮播滑块

滑块是对元素进行响应式展示的组件,可以使用鼠标或触摸手势进行滚动浏览。

用法

要应用滑动组件,请将 data-uk-slider 属性添加到 .uk-slider-container 元素周围的容器元素。添加一个项目列表,并将 .uk-slider 类分配给该列表。使用 .uk-width-*.uk-grid-width-* 类来确定一次可见的元素数量。

示例

标记

<div data-uk-slider>

    <div class="uk-slider-container">
        <ul class="uk-slider uk-grid-width-medium-1-4">
            <li>...</li>
            ...
        </ul>
    </div>

</div>

滑块本身可以通过鼠标的点击和拖动或在触摸设备上滑动来滚动。最好也添加一个可点击的滑块导航。滑块导航会添加在鼠标悬停在滑块上时出现的箭头按钮。

示例

<div class="uk-slidenav-position" data-uk-slider>

    <div class="uk-slider-container">
        <ul class="uk-slider uk-grid-width-medium-1-4">
            <li>...</li>
            ...
        </ul>
    </div>

    <a href="" class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous" data-uk-slider-item="previous"></a>
    <a href="" class="uk-slidenav uk-slidenav-contrast uk-slidenav-next" data-uk-slider-item="next"></a>

</div>

居中模式

默认情况下,滑块的元素始终与滑块容器的左边缘对齐。如果要改为使元素居中,请将 center 属性设置为 true

注意 居中列表元素始终添加 .uk-active 类。如果需要高亮显示居中元素,可以使用它。

示例

标记

<div data-uk-slider="{center:true}">

    <div class="uk-slider-container">
        <ul class="uk-slider uk-grid-width-medium-1-4">
            <li>...</li>
            ...
        </ul>
    </div>


</div>

禁用无限滚动

默认情况下,滑块会循环遍历所有项目。要禁用此行为,请将 infinite 参数设置为 false。这在启用和禁用居中模式下都有效。

示例

标记

<div data-uk-slider="{infinite: false}">

    <div class="uk-slider-container">
        <ul class="uk-slider uk-grid-width-medium-1-4">
            <li>...</li>
            ...
        </ul>
    </div>

</div>

项目间隔

如果希望元素之间有一些间距,请将 .uk-grid 类添加到滑块容器。然后,元素将根据网格间隔进行间隔。

注意 你可以使用修饰符 uk-grid-mediumuk-grid-small 来更改间距。

示例


项目宽度

要设置元素的宽度,请使用 UIkit 网格中的宽度类。可以使用滑块容器上的 uk-grid-width-* 类,也可以使用每个列表项的单独宽度,即使用 uk-width-* 类。

示例:单独宽度

标记

<div data-uk-slider>

    <div class="uk-slider-container">
        <ul class="uk-slider">
            <li class="uk-width-1-3">...</li>
            <li class="uk-width-1-5">...</li>
            <li class="uk-width-2-5">...</li>
            ...
        </ul>
    </div>

</div>

响应式行为

为了适应不同的视口,可以使用响应式网格类。在以下示例中,滑块在大视口上显示四个项目,在中视口上显示三个项目,在小视口上只显示一个项目。

示例:响应式宽度

标记

<div data-uk-slider>

    <div class="uk-slider-container">
        <ul class="uk-slider uk-grid-width-medium-1-3 uk-grid-width-large-1-4">
            <li>...</li>
            ...
        </ul>
    </div>

</div>

全屏模式

滑块包括全屏模式,其中每个幻灯片都会拉伸到视口高度的 100%。

标记

<div data-uk-slider>

    <div class="uk-slider-container">
        <ul class="uk-slider uk-slider-fullscreen">
            <li>...</li>
            ...
        </ul>
    </div>

</div>

JavaScript 选项

选项 可能的值 默认值 描述
center 布尔值 false 居中项目模式
threshold 整数 10 鼠标移动多少像素后触发元素拖动
infinite 布尔值 true 无限滚动
activecls 字符串 uk-active 在居中模式下添加到活动项目的类
autoplay 布尔值 false 定义是否应自动切换滑块项目
pauseOnHover 布尔值 true 当鼠标悬停在滑块上时暂停自动播放
autoplayInterval 整数 7000 定义切换滑块项目之间的时间间隔

手动初始化元素

var slider = UIkit.slider(element, { /* options */ });

事件

名称 参数 描述
focusitem.uk.slider event, index, item 当项目获得焦点时