1

这是我的代码,它自动刷新包含从 twitter 中提取的推文的 div:

var twittercacheData;
var twitterdata = $('#bottom-bar').html();
var twitterauto_refresh = setInterval(
function ()
{
    $.ajax({
        url: 'twitter.php',
        type: 'POST',
        data: twitterdata,
        dataType: 'html',
        success: function(twitterdata) {
            if (twitterdata !== twittercacheData){
                //data has changed (or it's the first call), save new cache data and update div
                twittercacheData = twitterdata;
                $('#bottom-bar').fadeOut("slow").html(twitterdata).fadeIn("slow");
            }           
        }
    })
}, 60000); // check every minute - reasonable considering time it takes 5 tweets to scroll across

唯一的事情是在 twitter.php 我这样做:

// initialise the marquee plugin so that we get a nice smooth scrolling effect
$('div.twitter marquee').marquee();

所以实际上我正在拉推文并将它们推入选框并初始化 Remy Shap rp 的选框插件,并且因为正在刷新 div 我认为选框插件在初始刷新后没有被初始化,因为在第一次刷新之后完美运行,萤火虫报告说:

marqueeState is undefined

我考虑使用.live()但不知道要使用什么事件类型,因为我想不出不需要用户交互的事件类型。

有什么想法吗?

4

3 回答 3

1

尝试使用 window.onload = functionName

于 2011-09-23T16:38:02.540 回答
1

我会使用livequery插件并执行以下操作:

$('div.twitter marquee').livequery(function() {
   $(this).marquee();
});

或者您可以使用带有 .live() 的自定义事件。

于 2011-09-23T17:11:29.443 回答
1

如果您想要可以以编程方式触发的自定义事件,jQuery 提供: http: //fuelyourcoding.com/jquery-custom-events-they-will-rock-your-world/

于 2011-09-24T01:58:40.480 回答