javascript - Javascript轮播css转换不起作用
问题描述
嗨,我想知道为什么我的 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);
解决方案
在“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);
}
推荐阅读
- python - Flask-sqlalchemy 通过指定列名动态更新字段
- javascript - 如何使用 forEach 在 HTML 标记中显示所有对象的值,而不是手动迭代所有值
- python - 使用 pybind11 包装 C++ 抽象类时出错
- python - 将 object 转换为 int 以执行聚合
- mysql - 在哪里放置代码以显示从 MySQL 到 Handlebars 的数据?
- javascript - 将 FontAwesome 图标更改为悬停时的文本
- javascript - 如何使用 ajax 获取动态创建的单选框
- java - 是否有 Java 代码重复执行自己的代码的示例?
- python - 拆分数据集时不能将单例数组视为有效集合
- java - 在java中使用ListIteartor向后遍历