GalleryViewのカスタマイズについて

このQ&Aのポイント
  • jqueryのプラグイン、GalleryViewを使っています。
  • 現状はデモ通りに使用していますが、左端にクリックしたサムネイルがきたときだけ、そのimgにclassを付加させたいと思っています。
  • 最新版はver2のようですが、仕様が変わっており、また作者による解説もないためデモと同じver1.1使用しています。
回答を見る
  • ベストアンサー

GalleryViewのカスタマイズについて

GalleryViewのカスタマイズについて jqueryのプラグイン、GalleryViewを使っています。 http://spaceforaname.com/galleryview デモ http://spaceforaname.com/gallery-light.html 現状はデモ通りに使用していますが、左端にクリックしたサムネイルがきたときだけ、そのimgにclassを 付加させたいと思っています。しかしうまくいかず困ってます。 最新版はver2のようですが、仕様が変わっており、また作者による解説もないためデモと同じver1.1使用しています。 ご教授ください。よろしくお願いします。

noname#258989
noname#258989

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

  • ベストアンサー
  • my--
  • ベストアンサー率89% (91/102)
回答No.3

まとめ jquery.galleryview-1.1.js ------------------------------------------------- // 90行目あたり enableFrameClicking(); // imgが移動 var img = $(j_frames[iterator]).find('img'); img.attr('class', 'hoge'); // ---------- }); ------------------------------------------------- // 106行目あたり enableFrameClicking(); // 枠の方が移動してくる(img少数)時 img = $(j_frames[iterator]).find('img'); img.attr('class', 'hoge'); // ---------- }); ------------------------------------------------- // 120行目あたり function showNextItem() { // class名があれば削除(対象全走査) j_frames.each(function(i){ var img = $(j_frames[i]).find('img'); if (img.attr('class')) img.attr('class', ''); }); $(document).stopTime("transition"); ------------------------------------------------- // 130行目あたり function showPrevItem() { // class名があれば削除(対象全走査) j_frames.each(function(i){ var img = $(j_frames[i]).find('img'); if (img.attr('class')) img.attr('class', ''); }); $(document).stopTime("transition"); ------------------------------------------------- // 160行目あたり $(this).click(function() { $(document).stopTime("transition"); // class名があれば削除(対象全走査) j_frames.each(function(i){ var img = $(j_frames[i]).find('img'); if (img.attr('class')) img.attr('class', ''); }); showItem(i); iterator = i; ------------------------------------------------- // 403行目あたり has_filmstrip = j_frames.length > 0; // 始動時のimg if (has_filmstrip) $(j_frames[0]).find('img').attr('class', 'hoge'); if(!has_panels) opts.panel_height = 0; -------------------------------------------------

その他の回答 (3)

  • my--
  • ベストアンサー率89% (91/102)
回答No.4

>>No.3まとめ // 106行目あたり enableFrameClicking(); // 枠の方が移動してくる(img少数)時 var img = $(j_frames[iterator]).find('img'); // var 追記 img.attr('class', 'hoge'); // ---------- }); ごめん「var」抜け。

noname#258989
質問者

お礼

こちらでも動作確認し全く問題ありませんでした。 やりたいことを全部実装してもらって大変助かりました。 本当にありがとうございました。

  • my--
  • ベストアンサー率89% (91/102)
回答No.2

>>No.1補足 jquery.galleryview-1.1.js ------------------------------------------------- // 40行目あたり /************************************************/ /*Plugin Methods*/ /************************************************/ function showItem(i) { // フラグ仮引数削除 //Disable next/prev buttons until transition is complete ------------------------------------------------- ------------------------------------------------- // 90行目あたり enableFrameClicking(); // class名(hoge)設定 // j_frames[iterator]は親要素 var img = $(j_frames[iterator]).find('img'); img.attr('class', 'hoge'); // if文削除 }); ------------------------------------------------- ------------------------------------------------- // 160行目あたり $(this).click(function() { $(document).stopTime("transition"); // class名があれば削除 var img = $(j_frames[iterator]).find('img'); if (img.attr('class')) { img.attr('class', ''); } showItem(i); // フラグ無しで呼出し // ---------- iterator = i; ------------------------------------------------- 始動まではclass無しですけど、それぞれ変更してみて下さい。

  • my--
  • ベストアンサー率89% (91/102)
回答No.1

以下に示す箇所にコード追加してみて下さい。 jquery.galleryview-1.1.js ------------------------------------------------- // 40行目あたり /************************************************/ /* Plugin Methods */ /************************************************/ function showItem(i, flag /* click呼出しフラグ */) { //Disable next/prev buttons until transition is complete ------------------------------------------------- // 90行目あたり enableFrameClicking(); // class名(hoge)設定 if (flag /* click呼出し */) { // j_frames[iterator]は親要素 var img = $(j_frames[iterator]).find('img'); img.attr('class', 'hoge'); } // ---------- }); ------------------------------------------------- // 120行目あたり function showNextItem() { // class名があれば削除 var img = $(j_frames[iterator]).find('img'); if (img.attr('class')) img.attr('class', ''); // ---------- $(document).stopTime("transition"); ------------------------------------------------- // 130行目あたり function showPrevItem() { // class名があれば削除 var img = $(j_frames[iterator]).find('img'); if (img.attr('class')) img.attr('class', ''); // ---------- $(document).stopTime("transition"); ------------------------------------------------- // 160行目あたり $(this).click(function() { $(document).stopTime("transition"); // class名があれば削除 var img = $(j_frames[iterator]).find('img'); if (img.attr('class')) { img.attr('class', ''); } showItem(i, true); // フラグ付きで呼出し // ---------- iterator = i; ------------------------------------------------- 左端に来たタイミング。抜けるタイミングで対象要素にアクセスできます。 あとは適当にどうぞ。

noname#258989
質問者

補足

回答ありがとうございます。 コードを追加したところ問題なく動きました。 追加で伺いたいのですが、左右の矢印を押したときや、サムネイルが自動でスクロールしているときにも、常に左端のimgにclassを持たすことは難しいでしょうか。 可能でしたらお願いします。

関連するQ&A

  • jquery-galleryviewのカスタマイズ・・・

    jquery-galleryviewをカスタマイズして自分のページに使用したいのですが、JavaScriptの知識に乏しく、どこをいじれば良いのかわかりません。 http://www.spaceforaname.com/jquery/galleryview 画像のサイズなどは変更できたのですが、 ・pointer ・next ・prev この画像だけがどこで変更させるのかが分からず困っています。 画像を置き換えても、サイズが固定されているようで、小さな画像に置き換えてもデフォルトの大きさに引き伸ばされます。 解説サイトやおわかりになる方、是非アドバイスお願いします><

  • 「jQuery GalleryView - by Jack Ander

    「jQuery GalleryView - by Jack Anderson」を使ってみたいのですが、IE8で見た場合、画面が切り替わる際、文字部分が潰れてしまうのが、気になってます。修正する方法がもしあれば、誰か教えてください。 ▼jQuery GalleryView - by Jack Anderson   http://spaceforaname.com/gallery-light.html

  • jqueryについて質問させて下さい。

    jqueryについて質問させて下さい。 galleryviewというjqueryをサイトに入れたいと思っています。 ↓こちらのサイトです。 http://www.spaceforaname.com/jquery/galleryview/gallery-light.html こちらですが、IEでみるとスライドが変わる際に説明文が前のものと次のものとが重なってしまって困っています。 重ならないようにするにはどのように設定すればよろしいでしょうか? jquery初心者のため、ほとんど知識がありません。教えて頂ければ大変ありがたいです。 どうぞよろしくお願い致します。

  • GalleryView 3.0の設置方法について

    画像スライドさせるためのCSS、jqueryjsについての質問です。 私はCSS入門したてのド素人ですが、GalleryViewをどうしてもサイトに掲載したく頑張ってみたのですが、どうしてもうまくいきません。 GalleryViewのキーワードで検索してあらゆるサイトを見て回ったのですが、バージョンが古かったり、いまいち分かりずらく、設置稼働できませんでした。 本当に初歩的で申し訳ないのですが、ド素人でも、その通りやれば表示ができる!! というような分かりやすく日本語で説明されているサイトを探しております。 GalleryView3.0 http://spaceforaname.com/galleryview こちらのサイトで現時点(2011.04.04)GalleryView 3 Beta 3 をダウンロードできます。 同胞されている内容はcssとjsのフォルダです。 このフォルダをindexファイルと同じ階層にそのままアップして、README.txtに書かれているソースを記述してもうまくいきませんでした。その他、以下の過去質問の返答にあるようなリンク元も参考にイジってみたのですが、やはり作動しません。。。 http://okwave.jp/qa/q6229237.html 本当に困り果ててしまいました(´-∀-`;) どなたか、こんな馬鹿野郎ド素人でも分かりやすくご教授いただくか、同様のサイトがあれば参考サイトをご教授いただけましたら幸いです。 最悪、素人では難しいということでしたら、初心者向けのプラグインツールもしくはサンプルCSSなどがあれば、代替でも問題なしです。 結果として複数の画像が1画像づつ自動スクロールしてメインに表示され、下にサムネイルがあれば問題なしです。 本当に初歩的な質問になってしまいますが、宜しくお願いいいたします。

  • galleryviewのjavascriptについ

    下記の画像の部分にどうしてもリンクを貼りたいのですが上手くいきません。ご教授願います。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>GalleryView - Default Demo</title> <!-- First, add jQuery (and jQuery UI if using custom easing or animation --> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> <!-- Second, add the Timer and Easing plugins --> <script type="text/javascript" src="../js/jquery.timers-1.2.js"></script> <script type="text/javascript" src="../js/jquery.easing.1.3.js"></script> <!-- Third, add the GalleryView Javascript and CSS files --> <script type="text/javascript" src="../js/jquery.galleryview-3.0-dev.js"></script> <link type="text/css" rel="stylesheet" href="../css/jquery.galleryview-3.0-dev.css" /> <!-- Lastly, call the galleryView() function on your unordered list(s) --> <script type="text/javascript"> $(function(){ $('#myGallery').galleryView(); }); </script> </head> <body> <ul id="myGallery"> <li><a href="http://ariacompany-since2010.com/shop/products/list.php?category_id=47"><img src="http://www.spaceforaname.com/galleryview/img/photos/bp1.jpg" alt="Lone Tree Yellowstone" /></a> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp2.jpg" alt="Is He Still There?!" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp4.jpg" alt="Noni Nectar For Green Gecko" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp7.jpg" alt="Flight of an Eagle Owl" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp14.jpg" alt="Winter Lollipops" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp26.jpg" alt="Day of Youth" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp27.jpg" alt="Sunbathing Underwater" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp28.jpg" alt="Untitled" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp41.jpg" alt="New Orleans Streetcar" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp49.jpg" alt="By The Wind of Chance" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp52.jpg" alt="Fishing on the Cloud" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp53.jpg" alt="Blue Lagoon" /> <li><img src="http://www.spaceforaname.com/galleryview/img/photos/bp54.jpg" alt="Time" /> </ul> <p>Please view the source of this page if you are having difficulties setting up GalleryView.</p> </body> </html>

  • jQueryのスライドショーのカスタマイズについて

    仕事であるサイトを作っているのですが、製品ページの所で製品画像をスライドショーにして実装しようと思っており、jQueryで理想に近いプラグイン(galleriaというものです)を発見したのですが、スライドショーの領域内でさらに拡大画像ができるようにしてほしいと言われ自分でカスタマイズしようとやってみましたがうまくできません。 皆様のお力をお貸しいただけないでしょうか。 ■galleriaのプラグインを使ってカスタマイズする内容 galleriaのサイトからファイルをダウンロードし(http://galleria.aino.se/download/)メイン画像(サムネイルの上にある画像)内、もしくは外に「拡大画像」というボタンを設置し、クリックするとモーダルウィンドウで拡大画像が表示されるようにしたい。 ■自分でうまくできないところ このプラグインはサムネイル、もしくは左右にある矢印をクリックすると画像が変わる仕様になっており、「拡大画像」ボタンに今表示されているメイン画像を判別させて拡大画像を表示させる処理が必要となると思うのですが、うまくいきません。 モーダルウィンドウはthick.box(http://jquery.com/demo/thickbox/)を使って表示させています。 その他に、もっと簡単にできる方法など教えていただければ助かります。 よろしくお願いいたします。

  • サムネイル系プラグインとmaximageとの連携

    サムネイル系プラグインとmaximageとの連携 maximage http://www.aaronvanderzwan.com/maximage/bg.php prettyphoto http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/ この二つを組み合わせて、サムネイルをクリックしたら画像が拡大表示され、 かつ拡大表示されている画像がウィンドウに合わせてリサイズされるギャラリーを作成しようと試みたのですが、 maximageだけが適用されてしまい、画像だけが表示されてしまいます。 maximageの記述を外すと通常どおりprettyphotoが適用される、といった感じです。 lightbox風のプラグイン等でも試してみたのですが、同じ現象になってしまいます。 サムネイル系のプラグインと連携してmaximageを使用する方法を知っている方、教えていただけますでしょうか。 宜しくお願い致します。

  • ImageNavigation:画像の切り替え方法

    設置とCSSカスタマイズはできますが、プログラムの修正はできないため皆様のお知恵をお貸しください。 現在、下記URLにあるImageNavigationというjQueryプラグインを使用したいと考えています。 http://blog.net-king.com/ 別画像のサムネイル使用でIE6でも動作可能という希望を満たしているスライドショーがあまりないためできればこちらを使用したいのですが、当方してはマウスオーバーでの画像切り替えではなく画像クリックでの画像切り替えを希望しているため、何とかこちらを修正できないかと思っています。 作者にお尋ねするのが良いと思うのですが、しばらくサイトが更新がされていないようなのでこちらで教えていただけないかと思った次第です。 どの部分を修正すればよいのでしょうか? アドバイスよろしくお願いします。

  • ページ内に複数のJSギャラリー

    1ページ内に、jQueruを使用したギャラリーを複数設置したいと考えています。 使用したいJSギャラリーは以下となります。 http://landofcoder.com/demo/jquery/lofslidernews/index.html こちらID名を振り分けたりと色々試してみました。 できたことは、以下2点です。 ・ギャラリーを複数表示 ・「<」「>」ボタンは各ギャラリー毎に操作可能 どうしてもできないのは、以下1点です。 ・リストのサムネイル画像をクリックすると1つのギャラリーに対してのみ反応 (例えばAギャラリー・Bギャラリーを配置、AギャラリーのサムネイルクリックでBギャラリーがスライドしてしまう) どのような設定にすれば複数配置が可能なのか、お手上げ状態です。。 似たような質問がありましたが、上記のギャラリーを使用したいため新たに質問させて頂きました。 http://ziddy.japan.zdnet.com/qa6614795.html どうぞよろしくお願い致します。

  • jQuery スライド(カルーセル)のカスタマイズ

    jQuery スライド(カルーセル)のカスタマイズで困っています。 http://slidesjs.com/ こちらのサイトのJqueryライブラリを使って、 常時3つ表示のスライドギャラリー(カルーセル)を作成したいと思っています。 サンプルの中に3つ表示のタイプが含まれているのですが、(/Slides/examples/Carousel/) スライドも3つ同時に動きます。この部分を1つずつ動かしたいと思いカスタマイズしていますが、 うまくいきません。 要件としては、下記です。 ・同時に3つ表示させたい ・スライドは1つずつ動かしたい ・きれいにループさせたい(最後と最初のアイテムをスムースに接続) ・「Prev」「Next」「pagination」はそのまま活かしたい ・「pagination」のボタンは現状、1つに対して3つのアイテムがスライドするが、1つに対して1つにしたい。 別のライブラリをベースにしたほうがよいでしょうか。 何分素人なので、どなたかご教授くださいませ。よろしくお願いします。