2

我在页面上有一个无序列表。当通过 Ajax 刷新该页面时,可能会返回新的列表项,这些项将动态添加到无序列表中。添加新列表项后,我想突出显示这些新列表项,但在指定时间后淡出突出显示。

我已经尝试过动画和 jquery 高亮效果,但还没有找到合适的组合来获得所需的结果。我现在正在做的是在动态添加列表项后调用一个函数以尝试添加一个突出显示类,然后删除该类,但这并不好。

列表项通过 PHP 生成并添加到无序列表中。

在将新列表项动态添加到无序列表后,我将如何动态突出显示它们,然后淡出该突出显示?

我正在寻找的期望结果类似于 Scoopler 的 twitter 提要的行为方式,链接文本

4

3 回答 3

7
var colorStr = '#DDDDFF'; // color of highlight
$("li.new").each(function (i,x) {
    $(this).css("background-color",colorStr);
    setTimeout(function(){
        $(x).css("background-color","#ffffff"); // reset background
        $(x).effect("highlight", {color: colorStr}, 3000); // animate
    },3000);
});

经过测试,我认为这可以满足您的要求(也就是说,它将显示保持 3 秒,然后给出 3 秒的淡出。

于 2009-11-18T18:35:41.000 回答
0

jQuery livequery插件 + 高亮效果怎么样(假设所有 li 都在 ul 中,id 为 ulcontainer)。沿着这条线的东西应该起作用。

var doIt = function() {};
$(document).ready(function() {
    // doIt empty so no highlight on first page load
    $('#ulcontainer > li').livequery(doIt);
    // now set doIt to something useful
    doIt = function() { $(this).effect("highlight", {}, 3000); };
});
// do ajax and add li's to ul#ulcontainer
于 2009-11-18T18:32:18.690 回答
-1

如何将其作为两步顺序动画来完成。

1) 动画高光 2) 动画淡出

按顺序而不是并行执行此操作。

于 2009-11-18T18:21:09.057 回答