0

RSS フィードをスライダーに読み込もうとしています。スライダーはループ モードになっているため、このモードでは無限にスクロールし、最初のスライドが最後のスライドの後に繰り返されます。つまり、私の RSS スライドには実際には 2 つのスライドがあります。

問題は、div が 1 つある場合にのみコンテンツが読み込まれることです。

RSSファイルをロードする私のjQuery:

        (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>';
?>

スライダーをループに入れない場合、スライダーは1つだけになります

<div id="rssblok">

そしてそれはうまくいきます。ただし、ループ モードでは、<div id="rssblok">div を含む 2 つのスライドがあるため、RSS コンテンツは読み込まれません。

うまくいけば、問題は明確ですが、これを修正するにはどうすればよいですか?

4

1 に答える 1

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);
}
于 2014-02-19T16:36:33.757 に答える