2012-05-11 13 views
0

私は同じ問題をここに持っていました: jQuery function for specific class 私が解決しました。しかし、それはdivが多すぎて見栄えが良くないので私の邪魔になったので、HTMLコードを書き直してセレクタスクリプトを書き直しました。 スクリプトは画像を細かくロードしますが、すべて選択しても機能しません。 私は、最近接と兄弟機能を使ってみましたが、役に立たなかった。jQ画像セレクタの問題

どうすればこの問題を解決できますか? あなたがで問題のページを見つけることができます。事前に http://baldino.rs/baby-program/

ありがとう

$(document).ready(function(){ 

var picture = $('.post-cipela').each(function(index, element) { 
$(this).find('.cipela-bg img:eq(0)').fadeIn(500); 

$('.colorwrap a').click(function(){ 
    var index = $(this).find(".colorwrap a").index(this); 
    $('.cipela-bg img').fadeOut(200); 
    $('.cipela-bg img:eq('+index+')').fadeIn(500); 
    }); 
}); 

EDIT-1:私は私のスクリプトを改訂 。私のイメージが複数回消えてしまうので、今私は問題があります。どうすれば修正できますか? - ここに改訂されたスクリプトで、あなたが問題を見ることができるページはこちらです:あなたが貼り付けられた http://baldino.rs/baby-program

$(document).ready 
(
function() 
{ 
$(".cipela-1").fadeIn(200); 
$(".colorwrap a").click 
(
    function() 
    { 
     var item = $(this); 
     var a = item.attr("rel"); 
     item.closest(".post-cipela").find(".cipela-1, .cipela-2, .cipela-3, .cipela- 
     4").fadeOut(200); 
     item.closest(".post-cipela").find("."+a).first().fadeIn(200); 

    } 
); 
} 
); 

答えて

1

あなたのコードが中傷され、あなたが最後に余分な});を持っています。

また、$( 'colorwrap a')セレクタを.eachファンクションループ内にラッピングしていますが、それを意味するかどうかはわかりません。

さらに、この変数のスコープを少しずれています。

この行はeachで問題ありません。

$(this).find('.cipela-bg img:eq(0)').fadeIn(500); 

しかし、あなたはそのハンドラ内でクリックハンドラ

$('.colorwrap a').click(function(){ 
    var index = $(this).find(".colorwrap a").index(this); 

$(this)をインスタンス化は.colorwrap内の一致aを指します。あなたはそれの下に.colorwrap aの別のインスタンスを見つけています。おそらく存在しないので、セレクタは何も見つけられません。

あなたが実際に各.each反復でこのクリックハンドラをラップに予定がない場合は、あなたがループ内で変数に$(this)を割り当て、そして実際に、私完全にこの

var picture = $('.post-cipela').each(function(index, element) { 
    var that =$(this); 
    that.find('.cipela-bg img:eq(0)').fadeIn(500); 

    $('.colorwrap a').click(function(){ 
     var index = that.find(".colorwrap a").index(this); 
     $('.cipela-bg img').fadeOut(200); 
     $('.cipela-bg img:eq('+index+')').fadeIn(500); 
    }); 
}); 
+0

のようにクリックハンドラ内で使用すべきです間違った足にスクリプトを書き始めた、私のポストの編集を読む。 –

+0

私はそれを修正しました。私は右のダイレクトンに向いています。そこから離れて。 –