我有一个简单的问题:我想在固定的时间间隔(例如5秒)内为页面添加一个新的div。
图片显示我的意思:
我用的是内容:http://feed2js.org/但它不起作用,我的代码:
$(document).ready(function(){
news = $('.rss-item')
current = 0;
news.hide();
Rotator();
});
function Rotator() {
$(news[current]).show('slow').delay(300).fadeOut('slow');
$(news[current]).queue(function() {
current = current < news.length - 1 ? current + 1 : 1;
Rotator();
$(this).dequeue();
});
}
谢谢你/
答案 0 :(得分:0)
我很确定您需要对setInterval();
<强> JS 强>
$(document).ready(function(){
news = $('.rss-item')
current = 0;
news.hide();
setInterval(showNewFeed,5000);
function showNewFeed(){
if(news.length > 0){
if(news.filter(':visible').length == 0){
news.eq(current).fadeIn('slow');
}
else{
news.eq((current - 1)).fadeOut('slow', function(){
if(current > news.length){
current = 0;
}
news.eq(current).fadeIn('slow');
});
}
}
current++;
}
});
答案 1 :(得分:0)
您可以使用setInterval在每5秒后添加新div
setInterval(add,5000);
function add(){
$("#divMain").append("<br/><div id='New'>New</div>");
}
答案 2 :(得分:0)
好的,如果我理解得很清楚你在var新闻中得到了所有的RSS,你想要隐藏每条新闻并在5秒之间延迟显示它们。
其他人给出了很好的答案,因为你的问题是关于时间的,但是有你想要的代码(没有经过测试)(我只是改变代码逻辑中的错误)
var $news = null, current = 0, timeInterval = 5000;
$(document).ready( function()
{
$news = $( '.rss-item' );
$news.each( function( index, $el )
{
$el.hide();
} );
Rotator();
} );
function Rotator() {
//$( $news[ current ] ).show( 'slow' ).delay( 300 ).fadeOut('slow'); // what ?
$( $news[ current ] ).fadeIn( 500 );
if ( ++current < $news.length ) // if end of rss stop loop
{
setTimeout( function()
{
Rotator();
}, timeInterval );
}
}
请大家不要使用setInterval