Javascript 无法在页面加载时将标题更改为随机颜色

Javascript 无法在页面加载时将标题更改为随机颜色,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,当页面加载时,会生成随机颜色,并应用于“测试颜色”文本和RSS提要的标题 问题是RSS提要标题的颜色没有改变 我设置了一个事件,单击“测试颜色”,标题颜色将发生变化,因此我认为这与动态添加的元素有关 我已经看过了.on(),但还没有成功地使它起作用 有人能在页面加载时发布更改标题颜色所需的代码吗 短暂性脑缺血发作 jQuery插件是FeedEk: 代码 -编辑- 针对下面的评论,超时不可靠。我已经扩展了包含的库以允许回调函数。默认值为alert('done'),但它可以作为参数传入,以执行任

当页面加载时,会生成随机颜色,并应用于“测试颜色”文本和RSS提要的标题

问题是RSS提要标题的颜色没有改变

我设置了一个事件,单击“测试颜色”,标题颜色将发生变化,因此我认为这与动态添加的元素有关

我已经看过了.on(),但还没有成功地使它起作用

有人能在页面加载时发布更改标题颜色所需的代码吗

短暂性脑缺血发作

jQuery插件是FeedEk:

代码


-编辑-

针对下面的评论,
超时
不可靠。我已经扩展了包含的库以允许回调函数。默认值为
alert('done')
,但它可以作为参数传入,以执行任何您想要的操作

更新小提琴:

或者,正如下面所讨论的,您可以轮询目标div的内容,查看其内容是否有更改,如果有更改,您就知道调用已完成

我认为问题在于内容访问DOM和脚本尝试对其进行样式化时会有一点延迟。它让它在一个小的
超时时间下工作

更新小提琴:


您需要在feedEk执行的ajax请求完成后运行代码,但是feedEk没有提供适当的方法来实现这一点。我所有的回调尝试都失败了。延迟来自ajax请求。setTimeout可以解决这个问题,但要让它对每个人都有效,延迟必须非常大,才能用于蜂窝网络,即使请求发生在50毫秒内,也会导致内容显示之前的显著延迟。我想您可以设置一个间隔来检查
html()有问题的
div的
,查看是否已填充?然后临时回电话?我试图将回调函数传递给
FeedEk()
,但没有效果。是的,setInterval比setTimeout更合适。谢谢,我使用setInterval每50毫秒检查一次,因为有时时间不够。
$(document).ready(function(){

    $('#divRss').FeedEk({
      FeedUrl : 'http://rss.cnn.com/rss/edition.rss'
    });

    var r = Math.floor(Math.random()*256);
    var g = Math.floor(Math.random()*256);
    var b = Math.floor(Math.random()*256);

    $('#example, .itemTitle a').css("color", getHex(r,g,b));

    $('#example').click(function() {

        $('.itemTitle a').css("color", getHex(r,g,b));

    });

    function intToHex(n){
        n = n.toString(16);
        if( n.length < 2) 
            n = "0"+n; 
        return n;
    }

    function getHex(r, g, b){
        return '#'+intToHex(r)+intToHex(g)+intToHex(b); 
    }

});
<div id="example">TEST COLOUR</div>
<div id="divRss"></div>
.feedEkList{width:450px; list-style:none outside none;background-color:#FFFFFF; border:1px solid #D3CAD7; padding:4px 6px; color:#3E3E3E;}
.feedEkList li{border-bottom:1px solid #D3CAD7; padding:5px;}
.feedEkList li:last-child{border-bottom:none;}
.itemTitle a{font-weight:bold; color:#4EBAFF; text-decoration:none }
.itemTitle a:hover{ text-decoration:underline }
.itemDate{font-size:11px;color:#AAAAAA;}

#example { font-weight: bold; cursor: pointer;}
 setTimeout(function () {
    var r = Math.floor(Math.random() * 256);
    var g = Math.floor(Math.random() * 256);
    var b = Math.floor(Math.random() * 256);
    var color = getHex(r, g, b);

    $('#example, .itemTitle a').css("color", color);

}, 50);