我正在尝试使用 Jquery 在更改课程期间制作流畅的动画。
但它只适用于文本颜色,而不适用于背景。
您可以查看详细信息:(:
这只是库的版本问题。
您的 jsbin 显示 jQuery 1.3.2 和 jQuery UI 1.7.2。
在这个jsfiddle(使用 jq 1.3.2 和 jqui 1.7.2)中,它不起作用。
在这两个库的另一个最新版本中,它可以工作。
jQuery 1.3.2 比传统更重要,你不应该再使用它,除非你没有选择,但是你应该期待一些(过度的)东西不能工作,我害怕。
动画渐变
查看来自 jQuery UI 的文档,他们似乎不支持重载 .animate() 上的渐变来动画颜色(doc)。我想它只适用于纯色。
jQuery UI 效果核心扩展了 animate 函数,使其也能够为颜色设置动画。它被类转换功能大量使用,它能够为以下属性设置颜色动画:
- 背景颜色
- 边框底部颜色
- 边框左颜色
- 右边框颜色
- 边框顶部颜色
- 颜色
- 轮廓颜色
具有以下组合之一:
- 十六进制 (#FF0000)
- rgb (rgb(255,255,255))
- 名称(“黑色”)
另一方面,CSS 过渡在任何浏览器中都不处理渐变。但是有几种解决方法:
您提到的 YouTube 按钮上的一句话。
对我来说,渐变不是动画的,因为它们使用 CSS 过渡。以下是我的测试方法:
<button>
元素。[-*-]transition: all 0.218s;
为“1s”我的观点是边框(等)的动画给人的印象是渐变是动画的,但事实并非如此。
我不明白你为什么使用javascript:$(this).removeClass("hoverf",1000)
, removeClass 的第二个参数是什么?而且我没有发现任何问题,它在 chrome 中运行良好。