这是我的代码:
$("#ticker-wrapper").rssfeed("http://news.hse.gov.uk/feed/", {
limit: 5,
linktarget: '_blank',
titletag: 'p',
snippet: false,
header: false,
date: false,
content: false
});
$('#js-news').ticker({
controls: false,
titleText: ''
});
基本上,rssfeed被放置在包装器中,然后我想要.ticker为.rssfeed提取的项目添加一个自动收报机效果。
问题似乎是.rssfeed创建了id#js-news(这是我想要应用.ticker的地方)。然后似乎.ticker在创建#js-news之前被解雇了。实际上它似乎试图将.ticker应用于尚未创建的元素,然后不会出现任何内容。
我一直在研究jQuery .live(),我可以使用click命令处理所有代码。但我需要创建rss feed并在页面加载时应用自动收报机。不太清楚该怎么办?
------编辑------
啊哈!
似乎它现在有效我已经将主要的.rssfeed批量移动到html中(在.ready之外)并重写了代码:
var tickerTryCount = 0;
function addTicker() {
if (tickerTryCount < 5) {
if ($('#js-news').size() > 0) {
$('#js-news').ticker({
controls: false,
titleText: ''
});
} else {
tickerTryCount++;
setTimeout(addTicker, 1000);
}
}
}
答案 0 :(得分:1)
在ajaxStop()上调用ticker()
$("#ticker-wrapper")
.rssfeed("http://news.hse.gov.uk/feed/", {
limit: 5,
linktarget: '_blank',
titletag: 'p',
snippet: false,
header: false,
date: false,
content: false
})
.ajaxStop(function() {
$('#js-news').ticker({controls: false, titleText: '' });
});
答案 1 :(得分:0)
啊哈!
似乎它现在有效我已经将主要的.rssfeed批量移动到html中(在.ready之外)并重写了代码:
var tickerTryCount = 0;
function addTicker() {
if (tickerTryCount < 5) {
if ($('#js-news').size() > 0) {
$('#js-news').ticker({
controls: false,
titleText: ''
});
} else {
tickerTryCount++;
setTimeout(addTicker, 1000);
}
}
}