【发布时间】:2014-09-12 21:46:10
【问题描述】:
我用从数据库中获取的图像制作了一个画廊,并使用Fancybox 来显示它。我有一些文章是相同的,只是颜色不同,我只显示一个颜色框和下面的颜色框来更改颜色。
问题是当我点击按钮改变颜色时,图片发生变化,Fancybox on click 显示第一张图片,而不是当前图片
部分代码:
JS:
function changeImage(element,id){
var img=document.getElementById(id).src=element;
return false;
}
PHP:
while($row = mysql_fetch_array($sql)){
$prikaz =$row['prikaz'];
$id = $row['id'];
$ime = $row['ime'];
$thumb = $row['thumbs'];
$boja = $row['boja_id'];
$slicka = $row['slika'];
$spec = $row['tekst'];
if ($prikaz == 1){
echo "<table style ='display: inline' align='center'>";
echo "<tr>";
echo "<td><a class='fancybox-effects-a' href='$slicka' ><img id='$id' src='$thumb' alt='' /></a></td>";
echo "</tr>";
echo "<tr><td>";
echo "Boja: ";
$bsql = mysql_query ("SELECT muski.tekst, muski.id,muski.thumbs,boja.bslika FROM boja INNER JOIN muski ON muski.boja_id = boja.id WHERE muski.ime = '$ime' " );
while($res = mysql_fetch_array($bsql)){
$slicica = $res['thumbs'];
$muid = $res['id'];
$kockica = $res['bslika'];
echo "<button id = 'boja' onclick =changeImage('$slicica','$id')><img src= $kockica ></button>";
}
echo "</br>";
echo nl2br($spec);
}
echo "</td>";
echo "</tr>";
echo "</table>";
【问题讨论】:
-
好吧,您正在更改
changeImage()函数中的拇指src,而不是父锚点的href。你可能需要调整你的函数来改变两者(可能需要更多的参数来传递)
标签: javascript php jquery fancybox gallery