【发布时间】:2017-12-14 02:59:10
【问题描述】:
作为一个 JavaScript 新手,我面临着一个小小的困境。让我解释一下脚本:
- 我实现了一个 JavaScript 函数
rss(),它从 Internet RSS 新闻提要中提取新闻标题并将新闻标题保存到数组newsArray[]。 - 函数
headlinesInsert()应该将数组中的每一项推送到HTML ID#headlineInsert,类似于here 的显示方式。 - 但是,链接示例的
textlist变量(应替换为我的本地newsArray[])由于某种原因似乎不“兼容”,因为在 HTML 端没有显示任何内容。
想法是rss() 函数每 10 分钟用新标题更新全局 newsArray[],而 headlinesInsert() 不断将此数据推送到 HTML ID(根据链接的示例)。
由于我对 JavaScript 的了解有限,我希望有人可以帮助我正确设置以下代码并将想法付诸实践。
// Push RSS Headlines into HTML ID
var newsArray = [];
var listTicker = function headlinesInsert(options) {
var defaults = {
list: [],
startIndex:0,
interval: 8 * 1000,
}
var options = $.extend(defaults, options);
var listTickerInner = function headlinesInsert(index) {
if (options.list.length == 0) return;
if (!index || index < 0 || index > options.list.length) index = 0;
var value = options.list[index];
options.trickerPanel.fadeOut(function headlinesInsert() {
$(this).html(value).fadeIn();
});
var nextIndex = (index + 1) % options.list.length;
setTimeout(function headlinesInsert() {
listTickerInner(nextIndex);
}, options.interval);
};
listTickerInner(options.startIndex);
}
// The following line should hold the values of newsArray[]
var textlist = new Array("News Headline 1", "News Headline 2", "News Headline 3", "News Headline 4");
$(function headlinesInsert() {
listTicker({
list: textlist ,
startIndex:0,
trickerPanel: $('#headlineInsert'),
interval: 8 * 1000,
});
});
$(function slow(){
// Parse News Headlines into array
function rss() {
$.getJSON("https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fwww.stuff.co.nz%2Frss", function(data) {
newsArray = [];
for (var i = 0; i < data.items.length; i++){
newsArray[i] = (data.items[i].title);
}
console.log(newsArray);
})}
// Refresh functions ever 10 minutes
rss()
setInterval(function slow() {
rss();
}, 600000); // 10 Minute refresh time
});
【问题讨论】:
-
也许这个 (stackoverflow.com/questions/19562494/…) 可以帮助你。
标签: javascript jquery html arrays function