2

クリックするたびに画像を再帰的に変更するためにいくつかのコード行を作成しましたが、機能しません。そのコードは、最初の親指をクリックしたときにディレクトリの最後の画像を表示するだけです...理由は何ですか?それはコメントされたコードです:

<?php
//DB connection
include ("conn.inc");
// parameter for DB query   
$rif_pippo = "id_pippo"; 
// DB query
$query = mysql_query("SELECT * FROM pippo WHERE rif_pippo ='$rif_pippo'"); 
$result = mysql_num_rows($query);
$row = mysql_fetch_assoc($query);
// div in wich there's IMG SRC to recursively change
echo "<div><img id='change_this'src='images/medium/".$row['rif_pippo']."/".$row['rif_pippo]."_medium01.jpg' alt='' /></div>";
// thumbnails list
echo "<ul>";
// count how many images there are in directory
$images = glob('images/pippo/medium/'.$row[rif_pippo].'/*.jpg');
$images_number= count($images);
// cicle to show all directory's thumbnails
for ($i=1; $i<=$images_number; $i++) {
// I change the images prefix adding a 0 for images betweeen 0 and 9
if ($i<=9) {$v='0'.$i;}
else if ($i>=10) {$v=$i;};
// JQUERY script 
echo "<script type='text/javascript'>";
echo "$('#id_box_foto').click(function() {";
echo "$('#change_this').attr('src','images/medium/".$row['rif_pippo']."/".$row['rif_pippo']."_medium".$v.".jpg').stop(true,true).hide().fadeIn('slow');";
echo "return false";
echo "});";
echo "</script>";

// thumbnail to change IMG SRC
echo "<li><a href='#id_box_foto' id='id_box_foto'><img class='foto' style='border:0px;' src='images/thumbnails/".$row['rif_pippo']."/".$row['rif_pippo']."_thumb".$v.".jpg' alt='' /></a></li>";
}

echo "</ul>";

?>
4

1 に答える 1

1

問題は、すべての画像に対してjqueryスクリプトを記述していることです。#id_box_fotoをクリックすると、これらのスクリプトがすべて実行され、最後に実行されるのが最後の画像になります。

これを修正するには、IDのリストを含むスクリプトを1つだけ作成することをお勧めします。これが呼び出されると、画像がリスト内の次のIDに設定されます。

于 2012-12-13T00:01:04.127 に答える