2012-04-21 11 views
0

jqueryカルーセルの作成に取り掛かりました。この関数は、画像を左にスライドし、移動した位置に応じてクラスを変更します。 (あなたが "増加"と呼ばれるボタンをクリックした後)。それは、最初のように、左のイメージを削除し、中間のクラスを左に変更し、右を新しいイメージを右に追加し、それに正しいポジションクラスを与えるようにする必要があります。あなたが実際にそれを見たいのであれば、ここにフィドルがあります:http://jsfiddle.net/6fwbS/25/Jqueryクラスの変更が2番目の関数呼び出しで機能しなくなりました

2回目に関数が呼び出されると、すべてがうんざりします。新しい画像が追加されますが、不透明度は0で、クラスは.right_slotです。私がここで間違って何をしているのか?前もって感謝します。

function slide_img_left() { 

     var imgs = imgArr.length; 
     a++; 
     if (a >= imgs) { 
      a = 0; 
     } 

     b = a - 1; 
     c = a + 1; 

     if (b < 0) { 
      b = imgs - 1; 
     } 
     if (c >= imgs) { 
      c = 0; 
     } 

     var left = $('.left_slot'); var middle = $('.middle_slot'); var right = $('.right_slot'); 
     var newImg = imgArr[c][0]; 
     left.animate({ 
      opacity: 0, 
      left: '-=50px' 
     }, 300, function() { 
      left.remove(); 
     }); 


     middle.animate({ 
      left: '-=50px' 
     }, 300, function() { 
      middle.attr('class', 'left_slot'); 
      right.attr('class', 'middle_slot'); 
     }); 

     right.animate({ 
      left: '-=50px' 
     }, 300, function(){ 
      $("#basic_div").append(newImg); 
      newImg.attr('class', 'right_slot'); 
     }); 

     $("#varsDiv").html(" var b = " + b + " var a = " + a + " var c = " + c); 

    } 
+0

実際に 'a''b''c'で何が起こっているのかわからない... – elclanrs

+0

その部分について心配する必要はありません...画像が格納されている配列を制御します。上記の場合のように、新しいイメージを追加するときに効果があります。var newImg = imgArr [c] [0]; –

+0

MMm ...それを行うより良い方法かもしれないように思えるか分からない。配列を投稿できますか? – elclanrs

答えて

1
  • あなたは.clone()あなたのイメージかは、あなたが自分のスタイルに加えた変更を元に戻す必要があります。

    $("#basic_div").append(imgArr[b].clone()); 
    $("#basic_div").append(imgArr[a].clone()); 
    $("#basic_div").append(imgArr[c].clone()); 
    ... 
    function slide_img_left() { 
        ... 
        var newImg = imgArr[c].clone(); 
        ... 
    } 
    
  • 左にleft_slotを移動し、それはちょうどあなたのレイアウトをねじ込むれる隠し。 middle_slotが見えなくなります。

これは、わずかに異なるフェードアウト効果を伴う増加機能のためのa working exampleです。

+0

だよ、あなたは私の個人的なヒーローです...あなたは一度にすべてを持っていた3つの問題のように解決しました。ありがとう!私は.cloneについて知らなかった –

関連する問題