-1

我有一个曾经使用seaofclouds Jquery Plugin for twitter 的网站。自从 twitter 更改了 API 后,插件就停止了工作。

我通过使用从 Github 下载的新插件找到了解决方案。唯一的问题是插件从 API 获取推文时存在轻微延迟。

我想在推文加载时显示消息:“正在加载推文”,直到它们被加载。

这是我当前的代码:

<script type="text/javascript">
    $(function(){
        $('#tweets').tweetable({
            username: 'myusername',
            time: true,
            limit: 3,   
            replies: false,
            position: 'append',
            failed: "Sorry, twitter is currently unavailable for this user.",
            html5: true,
            onComplete:function($ul) {
                $('time').timeago();
            }
        });
    });
</script>
4

1 回答 1

2

查看您选择的库的文档,看起来这onComplete是您可以使用的唯一回调。

除了进入源代码并自己修改它,您还有另一种选择。

看起来调用会.tweetable()与您当前<div>的 s html 混淆。因此,您要执行以下操作:

  • 从一开始就隐藏你的$('#tweets')元素 - 将它的样式设置为display: none;
  • 有另一个div包含“正在加载...”的可见
  • 在完整方法中,隐藏您的加载<div>$('#tweets')改为显示

HTML

<div id="tweets" style="display: none"></div>
<div id="loading">Loading...</div>

jQuery(在您的完整功能中)

onComplete:function($ul) {
    $('time').timeago();
    $('#loading').fadeOut('fast', function() {
        $('#tweets').fadeIn('fast');
    });
}

当然,我在这里使用了fadeOut()and fadeIn(),但是您可以轻松地使用hide()andshow()来代替。

于 2013-07-11T09:27:52.260 回答