jquery - 使用带有 CSS 的 Knockout JS 在类 bg 颜色之间淡入淡出

标签 jquery css knockout.js

我有一个名为 changed 的 View 模型可观察值,如果相关行已更改,它会在回发后设置。然后我设置了一个计时器,在这么多秒后将 changed 设置回 false。一切正常,所以当 changed 设置时该行变为绿色,然后恢复为默认值。

但我希望 bg 颜色之间的过渡淡化而不是直接交换。 tr 定义如下。

            <tr data-bind="css: { greenBg: changed() == true, dataRowEven: $index() % 2 }" class="dataRow">

任何建议都会很棒。

干杯 西蒙

最佳答案

如何使用 CSS3 transitions为使用最新浏览器的用户提供此功能,让旧版浏览器优雅地降级?您可以像这样使用 CSS:

tr { 
    background-color: lightgray;   
    -moz-transition: 3s;
    -webkit-transition: 3s;
    -o-transition: 3s;
    transition: 3s;
}

tr.dataRowEven { 
    background-color: gray; 
}

tr.greenBg { 
    background-color: green;
}

请参阅 this fiddle 中的实际操作.

或者,如果您也需要为旧版浏览器提供此功能,最好不要使用基本的 css 绑定(bind),而是使用 create a custom handler使用 jQuery animate在一段时间过去后改变颜色。

关于jquery - 使用带有 CSS 的 Knockout JS 在类 bg 颜色之间淡入淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041119/

相关文章:

javascript - 改变被丢弃的元素的颜色jquery

javascript - 两个div同时点击(css)

javascript - knockout - 通知属性(property)变更

css - 我怎样才能拥有 oj-panel 背景宽度为 100% 的元素

javascript - 有没有办法在读取 html 时修改 json 字符串?

knockout.js - knockout : calling function on a child

jquery - 如果 jQuery 中的 url 包含 "x"如何执行函数

javascript - 隐藏元素,但为那个地方显示空白

php - 从按钮按下事件运行 SQL 查询

javascript - 无法将 DIV 设置为等于另一个 DIV HTML/Javascript