2009-08-05 15 views
1

DIVの画像セットからスライドショーを作成するために、かなり基本的なjQueryコードを書いています。 CSSは、すべての画像が重ねて表示されるようにします。スクリプトはセット内のアクティブな画像を調べ、次にNEXT画像のz-インデックスを(CSSクラスを介して)上に移動し、0.0の不透明度からフェードインします。リンス、繰り返します。実際にはJohn Raasch's blogにあるコードに基づいています。jQuery:1つのDIVから多くのDIVにスライドショーを変換

不透明度フェードが完了したら、ページ上の次のスライドショーDIVを見て、1つの画像だけ進めて、すべてのDIVが順方向に進むまでページを下り続けるようにコードを微調整しようとしています。 1フレーム。それから、ある程度の間隔をおいて、もう一度やり直したい。

私は、次のコードを生成しようとしましたが、それはそのtarget.nextが関数ではない私に言って、私に壊しています...

jQueryの

$(document).ready(function(){ 
    setInterval("slideSwitch('div:first')", 5000); 
}); 

function slideSwitch(target) { 
    var nextTarget = target.next(); 
    var active = $(target+' img.active'); 

    if (active.length == 0) 
     active = $(target+' img:last'); 

    var next = active.next().length ? active.next() : $(target+' img:first'); 

    active.addClass('last'); 

    next.css({opacity: 0.0}) 
     .addClass('active') 
     .animate({opacity: 1.0}, 500, function() { 
      active.removeClass('active last'); 
      slideSwitch(nextTarget); 
     }); 
}; 

答えて

1

あなたの「標的」ではありませんjqueryオブジェクトあなたは$(目標).next()をする必要があります

+0

ジェイソン、ジャンプしていただきありがとうございます!次のようにnextTarget変数を変更しました。 var nextTarget = $(target).next(); 新しい問題が発生しました。 JSが.animateコールバックでslideSwitch(nextTarget)を実行すると、Firebugコンソールに次のエラーが表示されます。 未知の例外:構文エラー、認識できない式:[オブジェクトオブジェクト] アイデア? –

+0

jqueryオブジェクトを関数に戻してjqueryオブジェクトを渡しているので、jqueryオブジェクトのjqueryオブジェクトを取得しようとしているので、混乱していると思います。あなたがあなたのアニメーション機能のターゲットとして要素またはcassを渡すなら、それはあなたがそれを送信しているものに基づいて次のターゲットを設定するので、うまくいくはずです。 – Jason

関連する問題