首页 > 解决方案 > 如何在垂直轮播上添加上一个和下一个功能?

问题描述

如何在也与 Squarespace 兼容的垂直轮播上添加上一个和下一个功能?我正在尝试围绕我从codepen找到的以下代码建模轮播

当我向轮播添加更多图像时,我无法向下滚动。有人可以帮我看看如何添加这个功能吗?先感谢您!

下面是代码:

HTML

<div class="wrapper">
    <ul class="list-reset">
        <li class="active">
            <span>26 JAN</span>
            <a>Great win for the club</a>
            <img src="https://images.unsplash.com/photo-1420316078344-6149cb82b2c7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80"
                 alt="">
        </li>
        <li>
            <span>22 JAN</span>
            <a>Can they be caught?</a>
            <img src="https://images.unsplash.com/photo-1517466787929-bc90951d0974?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
        <li>
            <span>17 JAN</span>
            <a>League is nearly over</a>
            <img src="https://images.unsplash.com/photo-1501386761578-eac5c94b800a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
        <li class="active">
            <span>26 JAN</span>
            <a>Great win for the club</a>
            <img src="https://images.unsplash.com/photo-1420316078344-6149cb82b2c7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80"
                 alt="">
        </li>
        <li>
            <span>22 JAN</span>
            <a>Can they be caught?</a>
            <img src="https://images.unsplash.com/photo-1517466787929-bc90951d0974?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
        <li>
            <span>17 JAN</span>
            <a>League is nearly over</a>
            <img src="https://images.unsplash.com/photo-1501386761578-eac5c94b800a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
        <li class="active">
            <span>26 JAN</span>
            <a>Great win for the club</a>
            <img src="https://images.unsplash.com/photo-1420316078344-6149cb82b2c7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80"
                 alt="">
        </li>
        <li>
            <span>22 JAN</span>
            <a>Can they be caught?</a>
            <img src="https://images.unsplash.com/photo-1517466787929-bc90951d0974?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
        <li>
            <span>17 JAN</span>
            <a>League is nearly over</a>
            <img src="https://images.unsplash.com/photo-1501386761578-eac5c94b800a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60"
                 alt="">
        </li>
    </ul>
    <div class="featured-image"></div>
</div>

CSS

body {
    background: #f3f3f3;
    color: #111;
    padding: 20px;
    display: flex;
    place-items: center;
    height: 100%;
    justify-content: center;
    align-items: center;
    height: 90vh;
}

.wrapper {
    width: 80%;
    position: relative;
    max-width: 100%;
    overflow: hidden;
    // border-radius: 3px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .1)
}

.list-reset {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    width: calc(30% - 4px);
    min-height: 350px;
    height: 70vh;
    flex-direction: column;
    border: 2px solid #fff;
    li {
        padding: 20px;
        border-bottom: 2px solid #fff;
        transition: all 600ms ease;
        cursor: pointer;
        &:hover {
            background: #f9f9f9;
        }
        img {
            transition: all 600ms ease;
            opacity: 0;
            transform: translatey(10px);
            transform-origin: bottom;
        }
        a {
            display: block;
            margin-top: 4px;
        }
        span {
            font-size: 0.7rem;
            opacity: 0.7;
        }
        img {
            position: absolute;
            top: 0;
            right: 0;
            width: 70%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }
    .active {
        z-index: 999;
        background: #fff;
        a {
            color: #548AF7;
        }
        img {
            opacity: 1;
            transform: translatey(0);
        }
    }
}

Javascript

$('.list-reset li').on('click', function() {
    $('.list-reset li').removeClass('active')
    $(this).addClass('active')
})

标签: javascriptcarouselsquarespace

解决方案


您可以添加:

.list-reset{
  overflow: auto;
}

因此,您可以向下滚动列表。

我知道已经有几个月了,所以你可能已经解决了这个问题,但我会把它留在这里以防万一。

https://www.quackit.com/html/codes/html_scroll_box.cfm


推荐阅读