定制 avalynx/avalynx-cardslider 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

avalynx/avalynx-cardslider

最新稳定版本:1.0.0

Composer 安装命令:

composer require avalynx/avalynx-cardslider

包简介

AvalynxCardSlider is a simple grid card slider for web applications. Based on Bootstrap >=5.3 without any framework dependencies.

README 文档

README

npm Version npm Downloads jsDelivr License GitHub stars

AvalynxCardSlider is a lightweight, native JavaScript slider designed specifically for the Bootstrap grid system. It uses Bootstrap columns (version 5.3+) and slides smoothly either card by card or page by page. No framework dependencies such as jQuery or Swiper.

Features

  • Native Bootstrap grid: Full compatibility with col-12, col-md-6, col-lg-4, etc. Responsive breakpoints work out of the box.
  • Scroll modes: Choose between single (one card per click) or page (advance by full visible page width).
  • Page mode placeholders: If the last page is incomplete, page mode automatically adds empty placeholders (e.g. 5 6 7 _) to keep the grid layout clean and consistent.
  • Controls: Supports Next/Prev buttons and auto-generated pagination dots.
  • Performance: Vanilla ES6, no dependencies, minimal CSS. Responsive via debounced window resize listener.

Examples

Include directly in HTML

Make sure Bootstrap 5.3 (or newer) is included.

<!-- Bootstrap -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3/dist/css/bootstrap.min.css" rel="stylesheet">

<!-- AvalynxCardSlider -->
<link href="path/to/avalynx-cardslider.css" rel="stylesheet">
<script src="path/to/avalynx-cardslider.js"></script>

Include via jsDelivr (CDN)

<link href="https://cdn.jsdelivr.net/npm/avalynx-cardslider@1.0.0/dist/css/avalynx-cardslider.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/avalynx-cardslider@1.0.0/dist/js/avalynx-cardslider.js"></script>

Install via NPM (Link)

npm install avalynx-cardslider

Then import in JavaScript:

import { AvalynxCardSlider } from 'avalynx-cardslider';
import 'avalynx-cardslider/dist/css/avalynx-cardslider.css';

Install via Symfony AssetMapper

php bin/console importmap:require avalynx-cardslider

Then import in JavaScript:

import { AvalynxCardSlider } from 'avalynx-cardslider';
import 'avalynx-cardslider/dist/css/avalynx-cardslider.css';

Install via Symfony AssetComposer

More information about the Symfony AssetComposer Bundle can be found here.

{% do addAssetComposer('avalynx/avalynx-cardslider/dist/css/avalynx-cardslider.css') %}
{% do addAssetComposer('avalynx/avalynx-cardslider/dist/js/avalynx-cardslider.js') %}

Install via Composer (PHP) (Link)

composer require avalynx/avalynx-cardslider

Include in HTML:

<link href="vendor/avalynx/avalynx-cardslider/dist/css/avalynx-cardslider.css" rel="stylesheet">
<script src="vendor/avalynx/avalynx-cardslider/dist/js/avalynx-cardslider.js"></script>

Usage

HTML structure (standard Bootstrap grid with ID on .row):

<div class="container">
  <!-- Wrapper is optional and is added automatically by JS if missing -->
  <div class="avalynx-cardslider-wrapper">
    <div class="row" id="myCardTrack">
      <!-- Use any Bootstrap breakpoints -->
      <div class="col-12 col-md-6 col-lg-4 col-xl-3">
        <div class="card">Content 1</div>
      </div>
      <div class="col-12 col-md-6 col-lg-4 col-xl-3">
        <div class="card">Content 2</div>
      </div>
      <div class="col-12 col-md-6 col-lg-4 col-xl-3">
        <div class="card">Content 3</div>
      </div>
    </div>
  </div>

  <!-- Optional controls outside wrapper for free positioning -->
  <div class="mt-3 text-center">
    <button id="btnPrev" class="btn btn-secondary">Back</button>
    <button id="btnNext" class="btn btn-primary">Next</button>
  </div>
  <div id="sliderDots" class="mt-3 text-center"></div>
</div>

JavaScript initialization:

new AvalynxCardSlider('myCardTrack', {
  scrollMode: 'page',
  prevBtnId: 'btnPrev',
  nextBtnId: 'btnNext',
  dotsId: 'sliderDots'
});

Options

  • trackId (string, required): ID of the .row container that holds the card columns.
  • options (object):
    • scrollMode (string): Controls scrolling behavior. single advances one column at a time, page advances by the number of currently visible columns (default: single).
    • prevBtnId (string): ID of the "Back" button (default: null).
    • nextBtnId (string): ID of the "Next" button (default: null).
    • dotsId (string): ID of the container where dynamic pagination dots are rendered (default: null).

Contributing

Contributions are welcome! Please create a fork and submit a pull request. Keep code style consistent and include sufficient documentation.

License

AvalynxCardSlider is licensed under the MIT License.

Contact

Questions, feature requests, or issues? Please open an issue in the GitHub repository or submit a pull request.

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固