【p-seamless-scroll】一个创建无缝滚动效果的 js 插件

p-seamless-scroll (github:https://github.com/pbstar/p-seamless-scroll)是一个创建无缝滚动效果的 js 插件。它有着轻量且高效的特性,支持丰富的自定义配置选项,提供了一系列 API 方法以及事件监听功能。
请添加图片描述请添加图片描述

特点

丰富的配置选项

p-seamless-scroll 提供了多种配置选项,以满足不同场景的需求。

  • el: 滚动容器的 DOM 元素。
  • direction: 滚动方向,可选值包括 ‘up’ (默认) 、 ‘down’ 、 ‘left’ 、 ‘right’。
  • speed: 滚动速度,以毫秒为单位,默认为 100。
  • hoverStop: 是否在鼠标移入时停止滚动,默认为 true。
  • auto: 是否自动开始滚动,默认为 true。
  • loop: 是否循环滚动,默认为 true。
  • rest: 在滚动一段距离后停留一段时间,默认为 null,例如{distance: 100, time: 2000}。
    • distance: 停留前滚动的距离,以 px 为单位,必须为 10 的整数倍,默认为 100。
    • time: 停留的时间,以毫秒为单位,默认为 2000。

实用的 API 方法

除了配置选项外,p-seamless-scroll 还提供了一系列实用的 API 方法,使你可以更加灵活地控制滚动效果。

  • play(): 开始滚动。如果配置为自动开始滚动,则无需调用此方法。
  • pause(): 暂停滚动。
  • reload(e): 重载配置。接受一个配置对象 e,并更新当前实例的配置。
  • destroy(): 销毁滚动实例,清除定时器并释放资源。
  • getState(): 获取当前状态对象,如是否鼠标移入滚动容器、是否暂停滚动等。

事件监听

p-seamless-scroll 还支持事件监听,使你可以在滚动过程中执行特定的操作。

  • on(event, callback): 监听事件。event 可以是以下值:

    • hover: 鼠标移入或移出滚动容器时触发。
    • pause: 滚动暂停或继续时触发。
  • off(event): 移除事件监听。event 可以是以下值:

    • hover
    • pause

使用示例

在线体验 https://pbstar.github.io/p-seamless-scroll/demo/

安装引入

npm 安装
npm install p-seamless-scroll --save
esm 引入
import pSeamlessScroll from "p-seamless-scroll";
cdn 引入
<script src="https://unpkg.com/p-seamless-scroll@[version]/lib/p-seamless-scroll.umd.js"></script>

使用示例

<style>
  .fbox {
    width: 160px;
    height: 160px;
    border: 1px solid #ccc;
    overflow: hidden;
  }
  .sbox {
    width: 240px;
    height: 240px;
    background-image: url(https://pbstar.github.io/p-seamless-scroll/logo.png);
  }
</style>

<div class="fbox" id="scrollContainer">
  <div class="sbox"></div>
</div>
// 假设已经有一个滚动容器的 DOM 元素,ID 为 'scroll-container'
const scrollContainer = document.getElementById("scroll-container");

// 实例化 pSeamlessScroll
const pss = new pSeamlessScroll({
  el: scrollContainer,
});
  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初辰ge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值