javascript - 动画 Javascript classList.toggle

标签 javascript html css css-transitions

最近开始学习CSS和HTML,发现this响应式导航栏教程。

他们用 javascript 函数 classList.toggle 显示了导航栏的移动版本。有什么方法可以对此进行动画处理并添加过渡吗?

function myFunction() {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");}

最佳答案

您不能为类属性设置动画,但可以为 CSS 属性设置动画。

您的 .topnav 类应该有一个初始 CSS 定义,如下所示:

.topnav {
    background-color: black; /* Set an initial background */
    transition: background-color 200ms; /* Tell browser to use a transition when background-color changed */
}

感谢这段代码,只要您的 .topnav 元素的背景色发生变化,就会发生转换。

例如,您可以添加此 CSS:

.topnav.responsive {
    background-color: blue;
}

这将适用于您的 JS 代码。

当然,我的示例是基本的,只会为背景颜色添加一个过渡,但它应该可以帮助您解决您的问题:)

关于javascript - 动画 Javascript classList.toggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37868772/

相关文章:

html - 固定背景在滚动时结束

jquery - <span> 不从样式属性中获取颜色。或 iPad 上的样式表

css - 在 div float 上具有相对位置的 div

html - 将图像调整为 div

html - 最大宽度 :480px CSS rule being ignored

javascript - 如何从 Django/AJAX 中的表单创建动态表单集

Javascript:onclick事件触发两次

javascript/jquery 循环导致忙等待

javascript - 通过ajax从mysql数据库获取数据的问题

javascript - 如果选中复选框,则将 css 应用于 href