• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像ギャラリー)

画像ギャラリーにおける切り替え操作方法

このQ&Aのポイント
  • 単純な画像ギャラリーを作成する際、次の画像や前の画像に切り替える操作方法を教えてください。
  • 画像の枚数に関わらず、汎用性のある切り替え操作方法を教えてください。
  • 切り替え操作を行うためのコードを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

参考までに一例を書きます。 ※全角空白は半角空白に変えてください。 <ul id="tree"> <li><a href="../img/gallery/01/img01.jpg" class="current" >画像01</a></li> <li><a href="../img/gallery/01/img02.jpg">画像02</a></li> <li><a href="../img/gallery/01/img03.jpg">画像03</a></li> <li><a href="../img/gallery/01/img04.jpg">画像04</a></li> <li><a href="../img/gallery/01/img05.jpg">画像05</a></li> </ul> <p id="imgMain"> <img src="../img/gallery/01/img01.jpg" alt="画像" id="target"> </p> <button id="prev">前へ</button><button id="next">次へ</button> <script type="text/javascript"> $(function() {  $("#tree a").click(function(){   $("#tree a").removeClass("current");   $(this).addClass("current");   var src = $(this).attr("href");   $("#imgMain img:first").fadeOut("normal", function(){    $(this).attr("src",src);    $(this).attr("alt",src);    $(this).attr("src",src).fadeIn();   });   return false;   });   $("#prev").click(function(){    if($(".current").attr("href")==$("#tree li:first-child a").attr("href"))    $("#tree li:last-child a").click();    else    $(".current").parent().prev().children().click();   });   $("#next").click(function(){    if($(".current").attr("href")==$("#tree li:last-child a").attr("href"))    $("#tree li:first-child a").click();    else    $(".current").parent().next().children().click();   }); }); </script>

その他の回答 (3)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

$(this).attr("alt",src); はデバッグで付けてました(画像準備面倒なもんで) 不要です。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

まず画像の移動の為に下記のようなhtmlを追加しますよね? <div id="prev">前へ</div><div id="next">次へ</div> そして下記のような感じで追加していくと思うのですが。。。  $('#next').next()  $('#prev').prev() ==>根本的に考え方を間違っています。  HTMLはタグを追加・移動してレイアウトするわけですが、javascript はプログラムの記述です。だいじょうぶですか? HTMLに追加するのは、  <button id="prev">前へ</button><button id="next">次へ</button> こおいうのでしょ。(別に<a>でも、<div>でもできますが) そのボタンクリックに対するjavascriptのコードを書くのですよ。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

解決のためののヒント(jQueryを使う場合) ・$('セレクター')でjQuery要素を選択 次の要素は、  $().next() 前の要素は  $().prev() で拾える。 先頭要素と最終要素はセレクターのフィルター  :first-child  :last-child で拾える 判定条件は、  $().is(expr) でtrue/falseを取得できる。 クリッックイベントの登録は、  $().click(fn)  ※これは、使ってられますね。 http://semooh.jp/jquery/api/traversing/is/expr/

dcx147
質問者

補足

お返事ありがとうございます。 まず画像の移動の為に下記のようなhtmlを追加しますよね? <div id="prev">前へ</div><div id="next">次へ</div> そして下記のような感じで追加していくと思うのですが。。。  $('#next').next()  $('#prev').prev() どのように組み合わせしたらいいものか全く分からない状態です。 もう少し詳しい情報を教えていただけますと幸いです。宜しくお願いいたします。

関連するQ&A