【发布时间】:2021-05-14 15:22:41
【问题描述】:
我是一名 JavaScript 初学者。我正在构建一个 Todo 应用程序。我创建了一个垃圾按钮和复选标记按钮。当我单击垃圾桶按钮时,我正在尝试删除 div 待办事项。我想在删除之前添加一些过渡。我把代码写在下面作为事件监听器的函数。
但是,即使我添加了 class "fall" ,它的 CSS 属性也不起作用。我的意思是交易。你能帮忙吗?
function deleteCheck(e) {
const item = e.target;
//DELETE TODO ❌
if (item.classList[0] === "trash-btn") {
const todo = item.parentElement;
//Add animation
todo.classList.add("fall");
todo.addEventListener("transitionend", function (e) {
todo.remove();
});
}
//CHECK MARK✔️
if (item.classList[0] === "complete-btn") {
const todo = item.parentElement;
todo.classList.toggle("completed");
}
}
.fall {
transform: translateY(8rem) rotateZ(20deg);
opacity: 0;
}
我的项目的github链接https://github.com/hitaykeskin/vanilla-todo 谢谢。
【问题讨论】:
-
不要依赖类列表中类名的顺序。使用
.matches()函数检查:if (item.matches(".complete-btn")) -
或使用
item.classList.contains('complete-btn')。 -
谢谢,但问题是即使我添加了
todo.classList.add("fall");fall 的 CSS 属性也不起作用
标签: javascript css css-transitions