2012-12-12 28 views
2

我做了一些代碼行,在每次點擊後遞歸地改變圖片,但不起作用。 當我點擊第一個拇指時,Thath代碼只顯示目錄的最後一幅圖像... 任何想法爲什麼? 這就是代碼註釋:用php-jquery代替圖片的麻煩

<?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>"; 

?> 

回答

1

的問題是,你寫的每一個圖像的jQuery腳本。當單擊#id_box_foto所有這些腳本運行時,最後一個運行的是最後一個圖像。

要解決這個問題,您可能只想編寫一個帶有ID列表的腳本。當它被調用時,它將圖像設置爲列表中的下一個ID。

+0

吉姆您好,感謝您的answear – paolo70

+0

吉姆您好,感謝您的answear,我很抱歉,但我不會在這個論壇上使用,所以我給你不小心壞的反饋:○ – paolo70

+0

嗨,吉姆,感謝您answear,我很抱歉,但我沒有在這個論壇上使用,所以我不小心給了你一個不好的反饋:o我試圖做出正確的代碼沒有任何好的結果......我如何打印一個id列表當從打印代碼的同一個cicle生成tath列表時,將它從代碼中分離出來? – paolo70