javascript - 如何添加过渡我的 slider ?

标签 javascript html css

我想为我的 slider 添加效果,但我不知道如何处理这种情况?

所以当点击预览或下一步按钮时,改变 slider 效果 我使用过渡属性 CSS 代码但无法正常工作!

如果可能,请帮助更正我的代码,谢谢!

这是我的 HTML 代码:

    <div class="shop-slider fade">
    </div>

    <div class="shop-slider fade">
    </div>

    <div class="shop-slider fade">
    </div>

    <div class="shop-slider fade">
    </div>

    <a class="prev-shop-slide" onclick="plusShopSlides(-1)"><i class="fas fa-chevron-circle-left"></i></a>
    <a class="next-shop-slide" onclick="plusShopSlides(1)"><i class="fas fa-chevron-circle-right"></i></a>
</div>

这是 JavaScript 代码:

  var slideNum = 1;
        showShopSlides(slideNum);

        function plusShopSlides(n) {
            showShopSlides(slideNum += n);
        }

        function currentSlide(n) {
            showShopSlides(slideNum = n);
        }

        function showShopSlides(n) {
            var i;
            var slides = document.getElementsByClassName("shop-slider");
            var dots = document.getElementsByClassName("dot");
            if (n > slides.length) {slideNum = 1}
            if (n < 1) {slideNum = slides.length}
            for (i = 0; i < slides.length; i++) {
                slides[i].style.display = "none";
            }
            for (i = 0; i < dots.length; i++) {
                dots[i].className = dots[i].className.replace(" active", "");
            }
            slides[slideNum-1].style.display = "block";
            dots[slideNum-1].className += " active";
        }

这是我的CSS:

.shop-slider-container{
     width: 600px;
     height: 350px;
     background: #fff;
    position: relative;



 }
.shop-slider {
    display: none;
    font-family: iransans;
    font-size: 16px;
    transition: 0.5s ease-out;

}
.prev-shop-slide, .next-shop-slide {
    cursor: pointer;
    position: absolute;
    top: 60%;
    color: #14b8c2;
    font-size: 20px;

}

.next-shop-slide {

    margin-right: 10px;

}
.prev-shop-slide {
   margin-right: 40px;

}
.prev-shop-slide:hover, .next-shop-slide:hover {
  color: #000;
}.fade {

}

@-webkit-keyframes fade {


}

@keyframes fade {


}

最佳答案

您可以使用 jQuery UI 中的附加效果来做到这一点:slide-effect

示例

$(this).hide("slide", { direction: "left" }, 1000);
$(this).show("slide", { direction: "left" }, 1000);

在这种情况下使用 jquery,祝你好运!!

关于javascript - 如何添加过渡我的 slider ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50008874/

相关文章:

电话号码中的Javascript破折号

javascript - 简单查询 Firebase 数据库

javascript - 使用 React Navigation 多次堆叠同一屏幕

javascript - 子域是否被视为跨域?

Javascript 和 XML 按钮

javascript - 在函数参数上使用时包含不是函数

css - 自动调整 div 高度以填充空间 - CSS

javascript - worker 的同步文件 api,示例/教程?

html - 当使图像 float 时,其他 block 元素会落后于它吗?

javascript - 如何更改 jqGrid 中的字体大小?