サムネイルのロールオーバー (親指の上に大きな画像を表示する) を Fancybox と組み合わせようとしています。このテスト ページを見ると、私が話していることがわかります: http://www.neptune-design.com/sites/test/products.php
サムをロールオーバーすると、上の大きな画像が正しく変化します。上の大きな画像をクリックすると、fancybox を使用してさらに大きな画像が開くようにしたいと考えています。テスト ページからわかるように、ロールオーバーはうまく機能しますが、大きな画像をクリックすると、現在の画像 (ロールオーバーされた画像) ではなく、常に画像 1 が開きます。
今のところ、画像名は文字列に格納されていますが、最終的にはデータベース フィールドから取り出されます。これが私のコードです:
ロールオーバー部分の JavaScript:
<script type="text/javascript">
function swap(image) {
document.getElementById("main").src = image.href;
}
</script>
そして残りはここにあります:
<?php
$allpics = "1.jpg,2.jpg,3.jpg,4.jpg";
$pictures = array();
$pictures = explode(",", $allpics);
<a href = "images/products/big/<?php echo $pictures[0]; ?>" class = "fancybox"><img id="main" src="images/products/small/<?php echo $pictures[0]; ?>" class = "bigImage"></a>
<?php
for ($i=0;$i<count($pictures);$i++) { ?>
<div class = "imageHolder" id = "thumb<?php echo $i; ?>">
<a href="images/products/small/<?php echo $pictures[$i]; ?>" onmouseover="swap(this);" onclick="return false;"><img src="images/products/small/<?php echo $pictures[$i]; ?>" class = "smallImage"></a></div>
<?php } ?>
もちろん、for ループは画像ファイル名を取得し、サムネイル ボックスに表示します。この部分を変更するにはどうすればよいですか:
<a href = "images/products/big/<?php echo $pictures[0]; ?>" class = "fancybox"><img id="main" src="images/products/small/<?php echo $pictures[0]; ?>" class = "bigImage"></a>
常に画像#1ではなく、Fancyboxの現在の画像を開くようにします。$pictures[0] が画像 #1 を参照していることに気付きましたが、適切に変更する方法がわかりません。どんな助けでも大歓迎です!
編集: これは、私がやろうとしていることを示す別のページです: http://bloc-nc.com/projects/gateway.html