【问题标题】:Javascript carousel css transition not workingJavascript轮播css转换不起作用
【发布时间】:2019-05-01 02:07:49
【问题描述】:

嗨,我想知道为什么我的 css 转换不起作用。旋转木马执行循环和所有操作,但我的转换仅在我打开开发工具并用鼠标指向元素时才有效。 这是代码:https://codepen.io/anon/pen/zXQpNo

感谢您的帮助

var slides = Array.from(document.querySelectorAll(".slide_element"));
    var i = 0;
    function test(){
        if(i === slides.length - 1){
        slides[slides.length - 1].classList.remove("displaying");
        i = 0;
        slides[i].classList.add("displaying");
         }
        else{
            slides[i].classList.remove("displaying");
            slides[i+1].classList.add("displaying");
            i++;
        }
    }
    setInterval(() => {
        test();
    }, 3000);

【问题讨论】:

  • 看起来我不需要打开开发工具就可以了,jsbin.com/sufejewuxe/1/edit?html,css,js,output 可以吗?
  • 不,这并不奇怪!但是我尝试了 Josef 提供的 css,它现在就像一个魅力 :) 感谢您的帮助。

标签: javascript html css animation transition


【解决方案1】:

在“slide_element”中删除display: none;并将过渡添加到它(全部),所以它会变成这样transition: all .3s; 并将其设置为绝对定位,因此您的 css 将如下所示:

.slide_element{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.3s;
    transform: translateX(1000px);
}

【讨论】:

  • 甜蜜!那行得通,我会在那里发疯一秒钟。谢谢。
  • 我很高兴它有帮助,实际上我在几周前遇到了同样的问题
  • 很高兴看到我不是唯一一个遇到问题的人,在这里我坚持认为我是某个未来的糟糕开发者之类的。再次感谢您的帮助。
猜你喜欢
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2012-10-09
  • 2012-01-02
相关资源
最近更新 更多