我有一些尺寸有限的数字标牌,所以我需要能够将可变高度的非静态内容慢慢爬上屏幕。我正在使用两个单独的插件来处理内容滚动和内容解析。最初我使用的两个函数都是作为匿名函数编写的,但我将它们转换为对象的方法,以便稍后添加一些额外的功能。
我已经独立测试了这两种方法,但它们都有效。但是,将两者结合起来会导致最终内容无法按预期滚动。我用演示代码创建了一些小提琴:
(第二个小提琴的第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();
答案 0 :(得分:0)
看起来getfeed操作是一个异步操作,在您调用scrollfeed时尚未完成加载RSS提要。我不确定您使用的是什么插件,但是看看是否存在某种类型的事件在RSS源完成加载时调用已定义的函数。如果是这样,您可以将其设置为调用scrollfeed函数。