0

我有一些尺寸有限的数字标牌,所以我需要能够让高度可变的非静态内容慢慢爬上屏幕。我正在使用两个单独的插件来处理内容滚动和内容解析。最初我使用的两个函数都是匿名函数,但我将它们转换为对象的方法,以便以后可以添加一些额外的功能。

我已经独立测试了这两种方法并且它们有效。但是,将两者结合会导致最终内容无法按预期滚动。我用演示代码创建了一些小提琴:

  1. 运行 scrollfeed() 方法,使用填充文本

  2. getfeed() 和 scrollfeed() 的无效组合

(第二个小提琴的版本 6 验证 getfeed() 方法确实可以自己工作)

我还测试了 3 个独立的 RSS 提要,这些提要具有非常不同的内容结构,并且 getfeed() 方法在每个实例中都有效。

如果有人能提供任何见解,我将不胜感激。我的 JavaScript 技能有限。

var remoteFeedManager = {
    getfeed: function () {
        $('#feed').feeds({
            feeds: {
                calendar: 'http://rss.cnn.com/rss/cnn_tech.rss'
            },
            entryTemplate: '<div class="feed-entry">' +
                '<h4 class="feed-entry-title"><!=title!></h4>' +
            //'<div class="feed-entry-date"><!=publishedDate!></div>' +
            '<p class="feed-entry-content"><!=content!></p>' +
                '</div>',
            preprocess: function (feed) {
                // Inside the callback 'this' corresponds to the entry being processed
                // Remove CDATA tags from feed
                this.content.replace("<![CDATA[", "");
                this.content.replace("]]>", "");
            }
        });

    },
    scrollfeed: function () {
        $(".verticalscroller").carouFredSel({
            direction: "up",
            align: "top",
            width: 517,
            height: 100,
            auto: {
                easing: "linear",
                timeoutDuration: 0,
                duration: 10000
            }
        });
    }
};
remoteFeedManager.getfeed();
remoteFeedManager.scrollfeed();
4

1 回答 1

0

看起来 getfeed 操作是一个异步操作,在您调用滚动提要时尚未完成加载 RSS 提要。我不确定您使用的是什么插件,但请查看在 RSS 提要完成加载时是否有某种事件调用定义的函数。如果是这样,您可以将其设置为调用 scrollfeed 函数。

于 2013-11-08T01:09:02.827 回答