jQueryプラグイン「Skitter」についての質問

このQ&Aのポイント
  • jQueryのプラグイン「Skitter」について、スライドショーが無限にループすることをストップさせるカスタマイズについて質問します。
  • Skitterは、配布されているjQueryのプラグインで、スライドショー用途に最適です。しかし、最後の画像でループが止まるようにする方法が分かりません。
  • Skitterは簡単に実装でき、多彩なアニメーションエフェクトがありますが、無限ループをストップさせるカスタマイズ方法がわかる方に教えていただきたいです。
回答を見る
  • ベストアンサー

jQueryのプラグイン「Skitter」について

下記サイトで配布されているjQueryのプラグイン「Skitter」について、 質問させて下さい。 http://thiagosf.net/projects/jquery/skitter/ スライドショー用にjQueryの良いプラグインはないかと探して見つけたのが、 このSkitterで、実装も簡単だしアニメーションのエフェクトも多彩で、お気に入りです。 質問は、スライドショーが無限にループしてしまうのを、 最後の画像がきたところで、ストップさせる、 というカスタマイズが出来ないかという事です。 ファイルの中身を見たり、検索エンジンも使ってみましたが、 答えが見つけられず、思い切って質問してみました。 わかる方いらっしゃいましたら、ぜひお教え願いたいと思ってます。 よろしくお願いしますm(_ _)m

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

  • ベストアンサー
回答No.1

「最後の画像がきたところで、ストップさせる」というのは、一度だけ頭から順にアニメーションしていき、最後の画像で止まるようにしたいということでしょうか? ナビゲーションとインデックスでの操作を不要とする場合です。 (以下、js/jquery.skitter.js) 1.24行目あたりにあるオプション変数に一度で打ち止めるかどうかを制御するオプションを追加 var defaults = { /* ... */, // ,を忘れずに once: false } 2.66行目あたりにある skitter()に、最後の画像まで到達したかどうかを判定するフラグを追加し初期化しておく $.skitter = function(obj, options, number) { this.box_skitter = $(obj); this.timer = null; this.settings = $.extend({}, defaults, options || {}); this.number_skitter = number; this.reached = false; // <- このコードを追加 this.setup(); }; 3.1540行目あたりにある increasingImage()で到達フラグを立てるようにする increasingImage: function() { this.settings.image_i++; if (this.settings.image_i == this.settings.images_links.length) { this.settings.image_i = 0; if (this.settings.once) // <- このコードを追加 this.reached = true; // <- このコードを追加 } } 4.1488行目あたりにある finishAnimation()内でアニメーションのループを止める finishAnimation: function (options) { var self = this; /* ... */ /* if (!this.settings.is_hover_box_skitter) { */ if (!this.settings.is_hover_box_skitter && !this.reached) { // <- 条件追加 this.timer = setTimeout(function() { self.completeMove(); }, this.settings.interval); /* ... */ } } skitter()を追加オブションをtrueに設定して呼び出します。デフォルトでは無効にしてあるので。 $('div').skitter({once: true}); 上の修正だけだと一度終端まで行った後に、ナビゲーションやインデックスで画像を切り替えても自動で次の画像に切り替わりません。 ユーザーが画像を切り替えた場合にはスライドショーを再開させ、最後の画像が表示されたらまた停止するという動作であれば、以下のコードを追加してみて下さい。 1.290行め~のclickイベントハンドラ内で終端到達フラグをクリア(以下同様) this.box_skitter.find('.prev_button').click(function() { if (self.settings.is_animating == false) { self.reached = false; // <- このコードを追加 2.317行め~ this.box_skitter.find('.next_button').click(function() { if (self.settings.is_animating == false) { self.reached = false; // <- このコードを追加 2.342行め~ this.box_skitter.find('.image_number').click(function(){ if ($(this).attr('class') != 'image_number image_number_select') { if (self.settings.is_animating == false) { self.reached = false; // <- このコードを追加

NiceZepZb
質問者

お礼

ご回答ありがとうございます。 ここまで詳しい回答が頂けるとは、正直思っていなくて、 大変おどろきつつも恐縮です・・・深く深く、感謝です。 >>「最後の画像がきたところで、ストップさせる」というのは、 >>一度だけ頭から順にアニメーションしていき、 >>最後の画像で止まるようにしたいということでしょうか? その通りです! 早速、教えて頂いたコードで動作させてみたいと思います。 重ね重ね、、、貴重なご回答を頂きまして、 本当に、ありがとうございました。

関連するQ&A

  • jQueryプラグイン「Skitter」について

    jQueryのプラグイン「Skitter」の表示で、thumbsの表示で質問させてください。 http://thiagosf.net/projects/jquery/skitter/ 表示には「Numbers」「Dots」「thumbs」の3種類あり、「thumbs」でサイト作りをしているのですが、 「Numbers」「Dots」では表示されるlabelが、「thumbs」では表示されず、困っています。 javascriptの設定は下記のようにしています。 <script type="text/javascript"> $(function(){ $('.box_skitter_large').skitter({thumbs: true, label: true}); }); </script> labelを表示するかしないかで、“label: true”にしているのですが、これでは表示されません。 オプションを見ても、そのあたりの記載が見当たらず、どこを調整すればいいのか分らずにいます。 どなたかご存知の方、いらっしゃいましたらご教授をお願い致します。m(__)m

  • WordPressのプラグインとjQueryのそれ

    jQueryの存在を知り、WordPressでスライド画像表示なんかが簡単に実現できることを知りました。さらには、WordPressのプラグインとして直接実装も可能なようですが、両方可能な場合、どちらを選べばよいのでしょうか? Nivo Slider, ColorBox, FancyBoxを手始めに候補としています。 例えば、jQueryプラグインとして実装したほうが重くならない、などといった違いがあるのでしょうか?比較しつつ教えていただけると助かります。

  • jqueryのプラグインのjquery.jcarousel.jsについ

    jqueryのプラグインのjquery.jcarousel.jsについて http://sorgalla.com/projects/jcarousel/examples/static_auto.html jquery.jcarousel.jsはデフォルトで<ul>の中の<li>要素をスライドさせていますが、 これを<div>の中の<dl>に変更できればと考えております。 なんどいじってみてもエラーで停止してしまいます。 どなたかご教授ください。

    • ベストアンサー
    • AJAX
  • jqueryスライドショーについて

    貴重な場をお借りして質問させていただきます。 jqueryでスライドショーを自作したいとおもっておりまして、 下記のようなスライドショーを実装したいとおもっております。 http://aviathemes.com/aviaslider/index.html この左上からパラパラ変わっていくアニメーションはどのような 原理で動いているか教えて頂けませんでしょうか。 調べてもよくわからず困っております。 大変申し訳ございませんがお詳しい方お力を貸して頂けませんでしょうか。 宜しくお願い致します。

  • ■jQuery「Galleria」のカスタマイズ

    どうぞ宜しくお願いいたします。 jQueryプラグインの「Galleria」を使用して、 写真のスライドショーを作成しています。 Galleria http://galleria.io/ ※下記からダウンロードできる、無料のものを使用しています http://galleria.io/download/ 自動でスライドショーが流れるように Galleriaのオプションを「autoplay: 6000」と秒数を設定しているのですが、 最後の写真が表示された後、最初の写真に戻ってしまいます。 これを、最後の写真が表示された後はループさせず、 スライドショーを停止させたいのです。 もしかしたらGalleriaにはそのようなオプションが無いかもしれないのですが、 カスタマイズでループさせないようにできましたら どのように変更すれば良いか教えていただきたいです。 よろしくお願いいたします。

  • JQueryを使ったオートスライドショーについて

    Webサイトを作っているのですが、トップページにフェード効果のあるスライドショーを自動切り替えしたいと思っております。 とりあえず今日JQueryをダウンロードしたのですが、JQueryだけではスライドショーの機能を付けるのは難しいのでしょうか? それともスライダー用のJQueryプラグインを使う必要があるのでしょうか? JQueryだけでスライドショーを実現したほうが良いのか、プラグインを使ってスライドショーを実現した方が良いのか、どちらが良いのでしょうか? 双方のメリットやデメリットがあれば教えて下さい。

  • スライドショー「Skitter」をカスタムしたい

    「Skitter」というJavascriptのスライドショーを少しカスタムして使おうと思い、 コードを見ていろいろ試したのですが、うまくいきません。 ▼「Skitter」元はこちらです http://thiagosf.net/projects/jquery/skitter/ ナビゲーションのタイプを「Numbers」「Thumbs」「Dots」の3種類から選べるようになっていて、私は「Thumbs」と言うサムネイルが表示されるタイプを選びました。 さらにサムネイルのサイズを小さく(80px x 50px)したくて、 「skitter.styles.css」や「jquery.skitter.js」のここかな、と思う箇所を 端から変更して表示を試してみてるのですが、意図したサイズになかなかなってくれません。 過去の質問やネットにはサイズ変更に関する記事は見つけることができませんでした。 どこをいじれば良いのでしょうか? わかる方いらっしゃいましたら、教えて頂けませんでしょうか? どうぞよろしくお願い致します。

  • jQueryプラグイン「Moodular」について

    jQueryプラグイン「Moodular」を改造して利用しています。 http://www.gougouzian.fr/projects/jquery/moodular/ 特定の要素を横(縦)にスクロールさせるスクリプトですが 修正するにあたり自分ではわからなかったので質問させていただきます。 要素が移動・停止を繰り返す際に微妙に減速、加速をおこなっているのですが これをとっぱらい、常に一定の速度でスクロールさせたいと考えています。 スクリプトを自分でいじってみましたが、思うように動きませんでした。 どなたか教えていただけないでしょうか?

  • jQueryについて

    現在学生のものです。 最近jQueryを学習していてふと 「簡単なことは手打ちでできたほうがいいかもしれないけど、スライドとかはbxsliderもあるしこれをカスタマイズできたらそこまでスライドを学ばなくてもいいじゃん」 とこんなことを思ってしまいまいた。 実際の現場でもスライドに限らず自作する物よりいいプラグインがあればそっちを使用するものなのでしょうか? また新人がプラグインを多用とまではいかなくても使用した場合、上司としてなにか思う事とかあったりするのでしょうか? 就活までまだまだあるのですが、参考にしたいのでお答えしてもらえるとうれしいです。

  • jQueryでスライドショー作成(無限ループ)

    jQueryでスライドショーを作成したいです。 仕様としては、進むボタンと戻るボタンがあって、どちらかを押すと、画像が前または後ろにスライドして変わります。 ここまではできるんですが、以下のような無限にループさせることができません。 ・最後まで行ったときに、進むボタンを押すと、最初の画像が右から現れてスライドし、最初に戻る。 ・最初の画像のときに戻るボタンを押すと、最後の画像が左から現れてスライドし、現在地が最後の画像になる。 具体的には、下記サイトのような挙動にしたいです。 http://www.slidesjs.com/ このようなスライドショーの無限ループは、どのように考えれば実現できるのか、どなたかご教授いただけないでしょうか?