2012-03-29 3 views
0
var currentImage; 
var currentIndex = 0; 
function showImage(index){ 
    if(index < $('#backimg img').length){ 
     var indexImage = $('#backimg img')[index] 
     if(currentImage){ 
      if(currentImage != indexImage){ 
       $(currentImage).css('z-index',2); 
       $(currentImage).fadeOut(250, function() { 
        $(this).css({'display':'none','z-index':1}) 
       }); 
      } 
     } 
     $(indexImage).css({'display':'block', 'opacity':1}); 
     currentImage = indexImage; 
     currentIndex = index; 
     $('#thumbs li').removeClass('active'); 
     $($('#thumbs li')[index]).addClass('active'); 
    } 
} 
function showNext(){ 
    var len = $('#backimg img').length; 
    var next = currentIndex < (len-1) ? currentIndex + 1 : 0; 
    showImage(next); 
} 
function showPrev(){ 
    var len = $('#backimg img').length; 
    var next = currentIndex > 0 ? currentIndex - 1 : 0; 
    showImage(next); 
} 
$(document).ready(function() { 
    showNext(); 
    showPrev(); 
    $('#thumbs li').bind('click',function(e){ 
     var count = $(this).attr('rel'); 
     showImage(parseInt(count)-1); 
    }); 
    $('#prev a').click(function() { 
     showPrev(); 
    }); 
    $('#next a').click(function() { 
     showNext(); 
    }); 
}); 

「前の」ボタンに問題があります。私が最初のイメージに到達した後、それは動作を停止する、私は彼が最後のものにスライドしないことを意味します。私は本当に何が問題なのか分からない、助けてください。あなたが最初のイメージから戻って1つのSTAPを行けばあなたがいない最初に最後の画像に新しいインデックスを設定する必要が前に動作しません

+0

あなたのhtmlも投稿してください – DG3

+0

htmlを投稿できますか?私はあなたのアプローチが複雑で多分不必要かもしれないと思う... – elclanrs

答えて

0

、あなたの関数でuが常に0

に画像を設定する([次へ]ボタンは完璧に動作しています)
function showPrev(){ 
    var len = $('#backimg img').length; 
    var next = currentIndex > 0 ? currentIndex - 1 : len-1 ; 
    showImage(next); 
} 
+0

それは働いている!しかし、イメージのプリローダーを挿入することは可能ですか? – Schito

+0

もちろん、それは別の話題なので、プリローダーの実装にはたくさんの可能性があります - http://stackoverflow.com/questions/476679/preloading-images-with-jquery –

関連する問題