0

非常にシンプルな前/次のフォトギャラリーがあり、ライトボックスから大きな画像へのリンクである各写真のURLも変更したいと思います。

var img = [
  "images/railing.jpg",
  "images/stairwell.jpg",
  "images/sunset_railing.jpg",
  "images/sunset_house.jpg"
];

img.current = 0;
function showImage(i) {
  $("#imag").fadeOut( function() {
    this.src = img[img.current];
    $(this).fadeIn();
  });
}

function NextImage() {
  img.current = (img.current+1) % img.length;
  showImage(img.current);
}

function PreviousImage() {
  if (--img.current < 0)
    img.current = img.length - 1;
  showImage(img.current);
}

onload = function() {
  showImage(0);
};

これは、NextImage関数とPreviousImage関数を使用してボタン付きのページで呼び出され、画像を美しく変更します。

<a href="images/railing_detail.jpg" rel="lightbox">
  <img src="images/railing.jpg" alt="railing" name="BlackImage" 
       border="0" id="imag" />
</a>

また、リンクのhref値を同時に変更できるようにしたいのですが、これを実行するための最善の方法に頭を悩ませることはできません。

4

1 に答える 1

0

[]の代わりに{}表記を使用する場合と同様に、img配列のマップを作成します。例:

var img = {
  "images/railing.jpg" : "link",
  "images/stairwell.jpg" : "link",
  .. etc
};

最初のコメントに返信します。img+linkをインデックスに割り当てる必要がある場合は、試してみてください。

var img = [
  {"images/railing.jpg" : "link"},
  {"images/stairwell.jpg" : "link"},
  .. etc
];

また

var img = [
  ["images/railing.jpg","link"],
  ["images/stairwell.jpg", "link"],
  .. etc
];

img[0][0]"images/railing.jpg"img[0][1]へのリンクです"images/railing.jpg"

あなたが好きなものを使用してください

于 2012-09-13T00:01:53.943 に答える