0

わかりました私はこのようなコードを持っています:

function swapImages() {  
    $('.recipeImages').each(function() {  
        if($('li.active', this).length == 0) {  
        $('li:first', this).fadeIn(1000, function() { 
                $(this).addClass('active'); 
            });  
        return;  
        }  
        var $active = $('li.active', this);  
        var $next;  

        if($active.next().length == 0)  
            $next = $('li:first', this);  
        else  
            $next = $('li.active', this).next();  

        $active.fadeOut(1000, function() {  
            $active.removeClass('active');  
            $next.fadeIn(1000, function() {  
                $(this).addClass('active');  
            });  
        });  
    });  
}  
swapImages();  
setInterval('swapImages()', 5000);
<ul class="recipeImages">  
    <li style='display:none;'><img src='images/food.jpg' /></li>
    <li style='display:none;'><img src='images/food_cukinija.jpg' /></li>
    <li style='display:none;'><img src='images/food_hamburger.jpg' /></li>
    <li style='display:none;'><img src='images/food_sushi.jpg' /></li>  
</ul>

ここで何が問題なのですか?最後の LI 要素に移動し、次の要素がない場合、奇妙な動作をします。それはただ止まり、最初のものが現れ、再び最後に、など...しかし、彼がこの時点に来るまで

if($active.next().length == 0)    
    $next = $('li:first', this);

それは完全に機能します。

わかりました、問題が見つかりました。画像が絶対位置にあると、なんとなくバグがあります

4

0 に答える 0