javascript - 添加 css 过渡时间以使用 javascript 切换类

标签 javascript html css toggle transition

我想为我的纯 javascript 切换类函数添加一个过渡时间 我知道如何编码,但我忘记了,现在需要一些建议

<!DOCTYPE html>
<html>
<head>

<style type="text/css">
#div{
    width: 200px;
    height: 150px;
}
.class1 {
    color: #f00;
    background-color: #2fadac;
}

.class2 {
    color: #00f;
    background-color: #c33;
}
</style>
</head>
<body>
<div id="div" class="class1">click here</div>
<script>
function classToggle() {
    this.classList.toggle('class1');
    this.classList.toggle('class2');
    style.cssText ="-webkit-transition: all 0.5s ease-in-out;";
}
document.querySelector('#div').addEventListener('click', classToggle);
</script>
</body>
</html>

任何帮助将不胜感激

最佳答案

尝试在目标类本身中添加转换规则。

.class1 {
    color: #f00;
    background-color: #2fadac;
   -webkit-transition: all 0.5s ease-in-out;
}

.class2 {
    color: #00f;
    background-color: #c33;
    -webkit-transition: all 0.5s ease-in-out;

}

Demo

或者只是在单独的规则中应用该规则:

CSS:-

.class1 {
    color: #f00;
    background-color: #2fadac;
}

.class2 {
    color: #00f;
    background-color: #c33;
}
.transition{
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition:all 0.5s ease-in-out;
  -o-transition:all 0.5s ease-in-out;
  transition:all 0.5s ease-in-out;
}

HTML:

<div id="div" class="class1 transition">click here</div>

Demo

关于javascript - 添加 css 过渡时间以使用 javascript 切换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20099577/

相关文章:

css - 不要从 `table-cell` 或 `flex` 继承高度和宽度

javascript - 你能在 Angular 中嵌入一个子指令吗?

javascript - 遍历 DOM 树并检查是否有任何父级具有类

php - 从PHP表单提交选中的选项

html - 使用 CSS Sprite 的 Onmouseout 和 OnmouseOver 图像

css - w3.css 提交按钮带有图标而不是文本?

html - Bootstrap 布局页脚与其他元素发生碰撞

javascript - 如何将 Html 表格数据保存在 .txt 文件中?

javascript - Angular.js 上 ng-repeat 指令中的 if 语句

html - 如何将文本居中放置在图像上?