2011-07-21 10 views
0

私のウェブサイト用のポートフォリオイメージギャラリーを作成していますが、何か問題があります...アイコンの1つをクリックすると、最初のイメージが消えてしまいますが画像はHERESに...私のコードをjqueryイメージギャラリーのヘルプ

を開くことができません。

$(".portlink").click(function() { 
    $(".large-image").addClass("hidden"); 

    var $alt = $(this).attr("alt"); 

    $(".", $alt).removeClass("hidden"); 
}) 

そして、私のHTML/PHPを...

function portfolio() { 
    $sql = "SELECT * FROM db ORDER BY id DESC"; 
    $res = mysql_query($sql) or die(mysql_error()); 

    while($row = mysql_fetch_assoc($res)) { 
    ?> 

     <div id="large-image" class="<?php echo $row['name'] ?> large-image hidden"> 
      <a href="<?php echo $row['website_address'] ?>"><img src="img/uploads/<?php echo $row['website_image'] ?>" alt="" /></a> 
     </div> 
    <?php 
    } 
} // End portfolio 

function portfolio_nav() { 
    $sql = "SELECT * FROM db ORDER BY id DESC"; 
    $res = mysql_query($sql) or die(mysql_error()); 

    while($row = mysql_fetch_assoc($res)) { 
    ?> 
     <div class="workbox"> 
      <div class="background pngfix"> 
       <a class="portlink" alt="<?php echo $row['name'] ?>" href="#"><img src="img/uploads/<?php echo $row['website_image'] ?>" alt="" /></a> 
      </div> 
     </div> 
    <?php 
    } 
} // End portfolio 

助けてください!

おかげ ベン

答えて

0

ちょうどサイドノートとして、あなたは同じid(すべてあなたのdivにidとして「大画像」を持っている)を持つ複数の要素を持つべきではありません。

私はあなたのjQueryのは次のようになりますと思う:

$(".portlink").click(function() { 
    $(".large-image").addClass("hidden"); 

    var alt = $(this).attr("alt"); 

    $("." + alt).removeClass("hidden"); 
}) 

(最後の行で '' の代わりに '+' を使用)。

これでうまくいかない場合は、$ row ['name']が期待通りの文字列であることを確認してください。

0

厳密に言えば、各HTML要素には一意のIDが必要です。

IDのカウンタを追加するとおそらく名前は "large-image-1"、 "large-image-2"などとなります。もちろん、JavaScript/jQuery関数。

乾杯。