javascript - jQuery toggleClass - 不能动画或给它一个过渡

标签 javascript jquery css

我的代码有一个小问题。我有一个元素,当页面滚动时它会出现。但是,我无法让它以更流畅的方式“出现”。我已经尝试过 CSS 过渡和淡入,但都不起作用。它总是“跳”进来,我无法让它放松。

代码如下:

$(window).on("scroll", function () {
    $('.navbar').toggleClass('visible', $(document).scrollTop() > 40);
});

所以它看起来很好,但我不知道如何动画添加类名。

顺便说一句,这是 CSS:

.navbar {
    visibility: hidden;
}

.navbar.visible {
    visibility: visible;
}

最佳答案

visibility 无法使用 CSS 转换动画。

但是你可以这样做:

.navbar {
  opacity: 0;
  transition: opacity .5s ease; // Feel free to use prefixes.
}

.navbar.visible {
  opacity: 1;
}

CSS 过渡/动画无疑是 2014 年动画效果的最佳方式。您应该避免使用 fadeToggle() 和其他 jQuery 动画方法。

关于javascript - jQuery toggleClass - 不能动画或给它一个过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760159/

相关文章:

javascript - 获取文本字段中的选择值以及更改时的值

html - 在 firefox 和 google chrome 中的定位不匹配

html - 将图像定位在 Bootstrap 容器的左侧

javascript - addEventListener 不适用于默认参数

javascript - 合并后 GAS 脚本更改工作表中的日期和时间

javascript - 小书签:找不到添加到文档中的元素

javascript - jQuery replaceWith 不起作用

jquery 删除表中带有复选框值的行

javascript - 如何为Greasemonkey授予Window.opener.location.href权限?

javascript - css 转换中的奇怪行为 :rotate