2011-06-08 14 views
0

オンhttp://judi.simpleupdates.com/ jQuery fadeInfadeOutエフェクトを使用して、ページに画像のスライドショーを作成しようとしています。どちらの商品も問題ありません。fadeInただし、fadeOutは、表示されなくなるはずのdivdisplayのプロパティを変更していません。これが期待どおりに機能しない理由は何ですか?jQuery fadeOutは表示プロパティを変更していません

これが失敗している行です。

$(".carousel_item:nth-child(" + selected + ")").fadeOut(600); 

UPDATE:問題がwidthheightを持っていない要素にfadeOutであると思われます。 widthheightのプロパティに値を追加すると、div.carousel_itemfadeOutコールが正常に動作します。別の方法は、子孫imgからposition: absoluteを削除してdivimgディメンションに成長させることです。

+1

アプリからいくつかのコード行を入力できますか? –

+0

あなたはfadeoutのコメントを削除してくださいので、私たちはそれをテストすることができます – mightyplow

+0

コードは現在ライブです。申し訳ありません:P –

答えて

1

widthheightを持たない要素には、問題はfadeOutと思われます。 widthheightプロパティに値を追加すると、div.carousel_itemfadeOutコールが正常に動作します。もう1つの方法は、子孫imgからposition: absoluteを削除してdivimgディメンションに成長させることです。

ご協力いただきありがとうございます。

0

HTMLの表示設定を<div id="txt2" class="carousel_item" style="display: none; ">に変更すると、fadeIn/fadeOutが正しくトリガーされます。

またにjQueryのを変更する必要があります。 $(".carousel_item:nth-child(" + selected + ")").fadeOut(600).hide();

あなたは両方のdisplay: blockに設定されているアイテムにフェードイン/フェードアウトを呼んでいます。働くためには別の状態が必要です。

UPDATEにあなたのjsにshowhide()関数を変更し、あなたのサイトのローカルコピーをダウンロードした後 :私のテストで

var inc = 1 
function showhide(current) { 
    if (inc == 1) current = 2; 
    $(".carousel_item:nth-child(" + selected + ")").fadeIn(600); 
    $(".carousel_item:nth-child(" + current + ")").fadeOut(600).hide(); 
    selected = current; 
    inc++; 
} 

作品。うまくいけば、それはあなたのために働く。最初の数がselectedcurrentを1に設定しているようにカウンタを追加しました。

+0

.carousel_itemクラスのすべてのdivは、display:none;に設定されています。外部のcssファイルに保存します。表示プロパティは、特定のdivでfadeInが呼び出された後にのみブロックに変更されます。私はまた、問題を解決せずに値をインラインに設定しようとしました。 –

+0

この提案は私のために働いた。 1つの問題は、より多くのアイテムが(顧客によって制御される)スライドショーに追加された場合、それは機能しないことである。あなたの情報があればあなたの解決策は正しいと思います。 **最終的な解決策**上で議論した。 –

0

jQueryセレクタで現在の変数と選択した変数を置き換えてください。私がそれを理解したら、あなたは現在のものをフェードアウトし、選択したものをフェードインしたいと思っていますか?

+0

いいえ、 'current'は表示される' div'で、 'selected'は消える項目ですが、変数名がファイル全体で変更された場合、あなたの提案が好きです。 –

関連する問題