• ベストアンサー

jQuery Cycle Pluginについて

jQuery Cycle Plugin(http://jquery.malsup.com/cycle/)を使用して、8枚の画像を次々と表示するスライドショーを実装しました。 1枚目から7枚目の間は「Skip」ボタンを表示してクリックしたら、最後の画像が表示されてスライドが停止するといったような動きは、jQuery Cycle Pluginで実現することは可能でしょうか。 知っている方がいらっしゃいましたら何かヒントを頂けませんでしょうか。 どうぞ宜しくお願いいたします。

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

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

さらっと見た感じだとoptionにbeforeっていうコールバック関数を指定できるから、そこで現在の枚数を取得して 8枚目になったらSkipボタンを非表示とかすればまずは消せると思う。 んでSkipボタンのclickで最後のスライドに行けばいいんだけど、nextとprevはあっても先頭に戻るとか一番後ろとかは無い気がする。 function handleArguments ここの中が外から呼べるメソッドの定義だから case 'last' を追加して 最後の画像を表示、そしてstopするように作ればいいんじゃないかな? $('#skip').click(function(){ $('#slide').cycle('last'); }); みたいな感じ

d-e-k-o
質問者

お礼

ご回答頂きありがとうございました。 教えて頂いた内容で「8枚目になったらSkipボタンを非表示」とSkipボタンをclickした際の処理で「Skipボタンを非表示」はできましたが、どうしても最後の画像を表示することができません。 1番目から7番目までを.hideと非表示にして、8番目を.showで表示させるように処理を"last"に記載したりしているのですが8番目が表示されません。やり方を間違えておりますでしょうか。8番目の画像を表示するヒントを頂けませんでしょうか。

d-e-k-o
質問者

補足

2週間経ってしまいましたが、無事出来ました。教えて頂きまして本当にありがとうございました。

その他の回答 (4)

回答No.4

何度もごめん。 ボタンどこに表示したいの?たぶん画像の表示エリアはきっちきちでエフェクトかかるから、 外に置くとか工夫しないと、cssとかかなりいじることになると思う。

d-e-k-o
質問者

お礼

ご回答頂き、ありがとうございます。 画像の表示エリアの下にdivを配置し、その中にskipボタンを配置しています。 現在はjquery.cycle.all.js内のnextとonPrevNextEventの処理をいじってどうにかできないかを試行錯誤しております。

回答No.3

あ、ごめん。 本体いじってみたんだね。

回答No.2

全然見れてないけど、オプションじゃなくってプラグイン本体をいじらないとだめじゃないかな。 ボタン表示したりとかしないといけないなら。

回答No.1

pluginをカスタマイズすればいいとおもうけど、解析できる?

d-e-k-o
質問者

お礼

ご回答頂きありがとうございます。 オプションのnextの処理の内容を変更してできないかjquery.cycle.all.js内の記載をいじってみましたが無反応でした。 どこをカスタマイズすれば良いか教えて頂けませんでしょうか。 また、Skip処理とは関係ございませんが、画像のスライドは下記の様に設定しています。 $(function() { $('div#sample').cycle({ autostop: true, timeoutFn: function(currSlideElement, nextSlideElement, options, forwardFlag) {   var effectList = new Array('turnLeft', 'turnRight', 'turnDown', 'turnUp', 'fadeZoom', 'zoom', 'fade');   options.fx = effectList[options.currSlide]; var timeouts = [0,2,2,2,2,2,2]; var index = options.currSlide; if (index == 0 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 1 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 2 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 3 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 4 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 5 ) { options.speedIn = 2000; options.speedOut = 2000; } else if( index == 6 ) { options.speedIn = 12000; options.speedOut = 12000; } else { options.speedIn = 0; options.speedOut = 0; } return timeouts[index] * 500; } }); });

関連するQ&A

  • jQuery Cycle Pluginについて

    JavaScriptで、右から左に自動で画像が流れるスライドショーを表現するために、 現在いろいろなプラグイン等を見ています。 その中に、「jQuery Cycle Plugin」というのがあったのですが、 こちらのサイトに行き all となっているファイルのダウンロードを するために対象のリンクをクリックすると、なぜか403エラーになってしまいます。 こちらはすでに配布を終了してしまった、ということなのでしょうか? 試しにと思い、同じページにあるLite Pluginを設置しても、 私の望む動きは得られませんでした。 同じようなプラグインを使用中の皆様、どうかご意見やご指摘、アドバイスをいただけないでしょうか? ※ちなみに、正常に動いているサイトさんでは、jQueryは1.2.6を、 ※「jQuery Cycle Plugin」のallを使用していました。

  • jQuery Cycle Pluginについて

    jQuery Cycle Plugin(http://jquery.malsup.com/cycle/)についてですが、 自動再生ではなく、クリックで動作させたいと思っています。 そこで、1番目の画像をクリックしたら、最後の画像まで順番にフェードし、 1番目に戻る。といったような動きは、可能でしょうか。 オプションの設定をみましたが、分からなかったので ご存知の方がおられましたらお教え頂けないでしょうか。 どうぞ宜しくお願いいたします。

  • jQuery Cycle Pluginで表示時間を

    jQuery Cycle Pluginで4枚の画像をフェードで切り替えて順に表示するものを作っています。 そこでできることなら各画像の表示時間(timeoutの部分)をそれぞれで変えたいのですが、そのような方法はあるのでしょうか? (フェードの時間(speed)は一定で構いません) 1枚目……………1秒表示     ↓(フェード1秒) 2枚目……………4秒表示     ↓(フェード1秒) 3枚目……………2秒表示     ↓(フェード1秒) 4枚目……………1秒表示(ここで停止なので厳密には秒数は関係なし) 以下のJavaScriptでは表示時間をそれぞれ変えることが可能のようなのですが、 こちらはフェード機能がないようでして…。 http://attosoft.info/blog/release-animate-image-js/ Cycle Pluginにこだわっているわけではありませんので、他の方法で実現可能なものがあれば 教えていただないでしょうか? ※実装しなければならない条件  ・切り替え方法はフェード  ・リピートしない(4枚目で止まる)  ・各画像の表示時間をそれぞれで変える ←←←これを追加したい ※その他の条件  ・HTML 4.01 Transitional  ・IE6でも表示可能  ・Flash使用不可 よろしくお願いします。

  • jQuery Cycle Plugin についての質問です。

    jQuery Cycle Plugin についての質問です。 ▼プログラムについて jQuery Cycle Plugin (http://www.malsup.com/jquery/cycle/) ▼利用したい機能 Advanced Demos (Part 1) (http://www.malsup.com/jquery/cycle/adv.html) 上記サイトの「Advanced Demos (Part 1)」と同じように設定しようとしています。 とりあえず、FIrefox(Ver.3.3.6)とIE(Ver.8以降)では正常に動作しています。 ▼動作しているテスト用アドレス http://check.we-dok.jp/jq_cycle/cycle_test_01.html これを、IEのVer.6または、Ver.7で表示すると、スクリプトエラーがでてしまいます。 よくわからないのですが、 恐らく、ヘッダー内に記述している以下の部分が悪いと思うのですが、 本家サイトのコードを見たり、いろいろいじってみたのですが、自己解決できません。 <script type="text/javascript"> $(document).ready(function() { $('.pics').cycle({ fx:'scrollDown', speedIn: 2000, speedOut: 500, easeIn: 'bounceout', easeOut: 'backin', delay: -2000, pause: 1, }); }); お詳しい方、どこが悪いのか是非、 ご教授くださいますようお願いいたします。

  • JQueryのスライドショーを停止させたい

    サイトの背景画像のスライドショーを「VEGAS BACKGROUND JQUERY PLUGIN」を利用して行いたいのですが、スライドショーを1回で停止(ループさせない)ようにしたいのです。 どこをいじってもうまくいかなく困っています。 お教えいただけないでしょうか? http://vegas.jaysalvat.com/ (SLIDE SHOWを利用しています。) よろしくおねがいします。

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

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

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

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

  • jquery cycleで画像リサイズ

    jquery cycle pluginを使用して、画像のスライドをしています。 画像を画面中央に全画面表示をしたいのですが、 スライドする画像のサイズがそれぞれ異なるため、 画像の比率を固定して、縦横のサイズで大きい方を 画面に合わせて表示したいのです。 私が考えたのは、 (全文は載せられません。すみません。) <div id="slideImage"> <img id="slide1" src="test01.gif"> <img id="slide2" src="test02.gif"> ・・・ <img id="slide5" src="test05.gif"> </div> ↑のようにスライドする画像があるとして、 下記のjavascriptでスライドする画像分ループさせて、 id部分を変数にして、縦横どちらかが大きかったら・・・という 計算をしています。 function resize(){ for(var i=1; i<6; i++){ var slideNo = "slide" + i; var w = document.getElementById(slideNo).width; var h = document.getElementById(slideNo).height; if(w >= h){ document.getElementById(slideNo).width = screen.width; }else{ document.getElementById(slideNo).height = screen.height; } } } 確かにこれだとidがslide1の場合はサイズをリサイズしてくれるのですが、 slide2以降をリサイズしてくれません。 ループは確かに回っているし、 if文の前でリサイズ前の画像サイズをちゃんと取得しているのですが、 なぜかscreen.width(screen.height)の値が入ってくれません。 jquery cycle pluginだとそれぞれの画像のリサイズはできないのでしょうか。 みなさんお力お貸しください!!

  • jqueryスライドショーについて

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

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

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

専門家に質問してみよう