2014-02-19 49 views
0

我试图将RSS源加载到滑块中。滑块处于循环模式,因此在此模式下,您将获得无限滚动,并且第一张幻灯片将在最后一张幻灯片之后重复。所以实际上我的RSS幻灯片中有两张幻灯片。使用相同ID /类的多个div的Ajax加载内容

现在的问题是,内容只加载,如果有一个股利。

我的jQuery加载RSS文件:

 (function($) 
{ 
    $(document).ready(function() 
    { 
     $.ajaxSetup(
     { 
      cache: false, 
      beforeSend: function() { 
       $('#rssblok').show(); 
       $('#loading').show(); 
      }, 
      complete: function() { 
       $('#loading').hide(); 
       $('#rssblok').show(); 
      }, 
      success: function() { 
       $('#loading').hide(); 
       $('#rssblok').show(); 
      } 
     }); 
     var $container = $("#rssblok"); 
     $container.load("/kantivi/kantivi_rss.php"); 
     var refreshId = setInterval(function() 
     { 
      $container.load('/kantivi/kantivi_rss.php'); 
     }, 9000); 
    }); 
})(jQuery); 

的kantivi_rss.php文件只是一个RSS装载机和它呼应的内容。这一切工作

现在,其中进料必须在滑块内容加载的部分看起来像这样:

<?php 
$slider .= '<div id="rssblok">'; 
              $slider .= '<img src="/img/loading.GIF" id="loading" alt="loading" style="display:none;" />'; 
              $slider .= '</div>'; 
?> 

如果我把滑块不是在一个循环中,将只有一个

<div id="rssblok"> 

它工作得很好。但是,在循环模式下,它不会加载RSS内容,因为有2个幻灯片,其中有<div id="rssblok"> div。

希望问题很清楚,如何解决这个问题?

+0

IDS必须是唯一的,使用一个类来代替,而迭代该类 – kero

+0

的元素我有同样的的想法,并尝试与课堂..但是它是同样的问题。 – Trekdrop

回答

1

您需要循环所有容器和负载应用到每一个:

var $containers = $("#rssblok"); 
for (var i=0, j=$containers.length; i<j; i++){ 
    var $container = $($containers[i]); 
    $container.load("/kantivi/kantivi_rss.php"); 
    var refreshId = setInterval(function(){ 
     $container.load('/kantivi/kantivi_rss.php'); 
    }, 9000); 
} 
+0

感谢您的回复..我明白了,但它仍然无法正常工作。只在非循环模式下。 – Trekdrop

+0

如果你在调用$(“#rssblock”)或$(“#loading”)的任何地方,那么你可能需要一个for循环。 如果您可以创建显示相同问题的小提琴,我可以为您创建更具体的解决方案。 – StephenRios

+0

做了一个简短的版本:http://jsfiddle.net/2PTue/6/ 它应该在两个div中发布foo两次。 – Trekdrop