一个很小的jQuery脚本,可以帮助您使用最新的Bootstrap 5框架创建一个完全响应、移动友好的垂直旋转木马。
旋转木马幻灯片可以使用鼠标滚轮或触摸屏移动进行循环。
1.在文档中加载必要的jQuery库和Bootstrap 5框架。
- <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
- <script src="/path/to/cdn/jquery.min.js"></script>
- <script src="/path/to/cdn/bootstrap.bundle.min.js"></script>
2.垂直转盘所需的HTML结构。
- <div class="carousel-container justify-content-center">
- <!-- data-bs-interval: the amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle -->
- <!-- data-bs wrap: whether the carousel should cycle continuously (i.e go from first to last and vice-versa) -->
- <div id="vertical-carousel" class="carousel slide" data-bs-ride="carousel" data-bs-interval="false"
- data-bs-wrap="false">
- <!-- Carousel slide indicators -->
- <ol class="carousel-indicators">
- <li data-bs-target="#vertical-carousel" data-bs-slide-to="0" class="active"></li>
- <li data-bs-target="#vertical-carousel" data-bs-slide-to="1"></li>
- <li data-bs-target="#vertical-carousel" data-bs-slide-to="2"></li>
- <li data-bs-target="#vertical-carousel" data-bs-slide-to="3"></li>
- </ol>
- <div class="carousel-inner">
- <!-- Carousel item represents each slide -->
- <div class="carousel-item active" style="background-image:url(1.jpg);">
- <div class="container">
- <div class="row align-items-center" style="height: 100%">
- <h1 class="display-3 text-center text-light">
- Bootstrap 5 Vertical Carousel
- </h1>
- </div>
- </div>
- </div>
- <div class="carousel-item" style="background-image:url(2.jpg);">
- </div>
- <div class="carousel-item" style="background-image:url(3.jpg);">
- </div>
- <div class="carousel-item" style="background-image:url(4.jpg);">
- </div>
- </div>
- </div>
- <!-- Carousel buttons -->
- <button class="unclickable carousel-control-prev" type="button" data-bs-target="#vertical-carousel" data-bs-slide="prev">
- <span class="clickable carousel-control-prev-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Previous</span>
- </button>
- <button class="unclickable carousel-control-next" type="button" data-bs-target="#vertical-carousel" data-bs-slide="next">
- <span class="clickable carousel-control-next-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Next</span>
- </button>
- </div>
3.在jQuery之后加载垂直旋转木马的脚本。
- <script src="./index.js"></script>
4.用于垂直旋转木马的其他CSS样式。
- .carousel {
- border-radius: 50px 50px 50px 50px;
- overflow: hidden;
- }
- .carousel-inner, .carousel, .carousel-item, .carousel-container {
- height: 100%;
- width: 100%;
- background-position: center center;
- background-size: cover;
- }
- .carousel-item-prev:not(.carousel-item-end), .active.carousel-item-start {
- transform: translate3d(0, -100%, 0);
- -webkit-transform: translate3d(0, -100%, 0);
- -moz-transform: translate3d(0, -100%, 0);
- -ms-transform: translate3d(0, -100%, 0);
- -o-transform: translate3d(0, -100%, 0);
- }
- .carousel-item-next:not(.carousel-item-start), .active.carousel-item-end {
- transform: translate3d(0, 100%, 0);
- -webkit-transform: translate3d(0, 100%, 0);
- -ms-transform: translate3d(0, 100%, 0);
- -moz-transform: translate3d(0, 100%, 0);
- -o-transform: translate3d(0, 100%, 0);
- }
- .carousel-indicators {
- top: 0;
- margin: auto;
- height: 20px;
- right: 10px;
- left: auto;
- display: block;
- }
- .carousel-indicators [data-bs-target] {
- background: none;
- border: 2px solid white;
- border-radius: 12px;
- width: 12px;
- height: 12px;
- margin-bottom: 5px;
- }
- .carousel-indicators li.active {
- background: white;
- }
- .carousel-control-next-icon, .carousel-control-prev-icon {
- width: 4rem;
- height: 4rem;
- position: fixed;
- top: 95%;
- left: 50%;
- transform: translate(-50%, -50%) rotate(90deg);
- z-index: -1;
- }
- .carousel-control-prev-icon {
- top: 5%;
- }
- .unclickable {
- pointer-events: none;
- }
- .clickable {
- pointer-events: all;
- }
2022-02-20