【问题标题】:Fade to transparent using jQuery highlight function使用 jQuery 高亮功能淡入透明
【发布时间】:2011-12-11 12:40:56
【问题描述】:

This thread 似乎部分解决了我的问题,但该线程中没有答案,大多数 cmets 更多的是讨论和问题,而不是试图解决 OP 的问题......

我的案例与上述帖子的不同之处在于我有一个需要淡入淡出的背景图像。就像现在一样,颜色变为我设置的颜色,逐渐变为白色,然后变为背景图像。你可以在this jsFiddle看到它。

有什么方法可以从我设置的颜色过渡,然后直接过渡到透明,而不是过渡到白色然后透明?

更新:

在使用 musicinmyhead 的 cmets 之后,我使用了 UI 的 Position 效果一段时间,但仍然无法让它在 FF 中工作。我为位置效果添加了以下代码(请参阅上面链接中更新的 jsFiddle):

$('.checkwrap').position({
    'my': 'left top',
    'at': 'left top',
    'of': $('#classesTable td:eq(0)')
});

添加没有“效果”(请原谅双关语),所以我想知道我是否只是语法错误。我还尝试弄乱 css 以查看是否会改变任何东西 - 嗯,确实如此,但我没有修复它......

【问题讨论】:

    标签: jquery transparent fade highlight


    【解决方案1】:

    由于“透明”不是一种颜色,您可能无法像那样转换背景颜色。您最好的选择是附加一个与包含复选框的表格单元格大小相同的元素,然后将该附加元素的动画从 100% 不透明度变为 0%(模拟从红色到背景的过渡)。然后,您可以动态删除该元素。

    我有updated your jsFiddle,所以你可以看到我在说什么,添加了一个快速的 CSS 类,并确保“td”元素的样式设置为 position:relative(否则绝对定位的附加 div 只是到处都是)。

    另一个快速说明:还有其他一些方法可以做到这一点,例如动态调整附加元素的大小/定位,这些可能会更优雅一些,但这应该适合您的问题现在还好。

    【讨论】:

    • 这按我的需要执行,但突出显示的部分是 HTML 窗格左上角/左角的一个小框!希望这只是css定位的问题-您在回答中提到了相对定位和绝对定位...我现在没有时间弄乱它,但是我会在晚饭后检查一下。我会让你知道...
    • 是的,我只有时间自己在 Chrome 中检查它(效果很好),但是你可能需要稍微调整一下 IE 的定位,这样当你有时间的时候,应该有点反复试验,你会修复它。您还可以使用“位置”jQuery UI 效果,这可能也可以正常工作。
    • 令人惊讶的是,问题不是 Chrome 12、Safari 5 甚至 IE 9 而是 FF(4.x 和 5)。我查看了 UI 定位效果,但对定位的复杂性(即使使用插件!)还不够熟悉,因此需要一些“摆弄”才能使其正常工作。当然,如果有人想加入 jsFiddle,当然欢迎! ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2012-11-17
    • 2011-09-09
    • 1970-01-01
    • 2019-09-08
    • 2018-04-25
    相关资源
    最近更新 更多