スワイプはflipsnap.jsを使い、以下サイトのサンプルの中になる「next, prev」を、
同じページ内に4つ程設置しようとしていますが、最初の1つ目しか動きませんでした。
どうすれば2つ目以降も動かせるでしょうか?
http://hokaccha.github.io/js-flipsnap/demo.html
scriptは以下の物が提示されているのですが、恐らくは「flipsnap」の所を別の物を割り振って、だぶらないようにする必要があるのかな?と思いましたが、どの様に書けば良いのか解りませんでした。
------------
JavaScript
------------
<script>
$(function() {
var flipsnap = Flipsnap('.flipsnap', {
distance: 230
});
var $next = $('.next').click(function() {
flipsnap.toNext();
});
var $prev = $('.prev').click(function() {
flipsnap.toPrev();
});
flipsnap.element.addEventListener('fspointmove', function() {
$next.attr('disabled', !flipsnap.hasNext());
$prev.attr('disabled', !flipsnap.hasPrev());
}, false);
});
</script>
htmlは●の所をそれぞれ変える感じなのでしょうか。
------------
html
------------
<div id="flipsnap●" class="viewport">
<div class="flipsnap">
<div class="item">1-1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
</div>
<div id="flipsnap●" class="viewport">
<div class="flipsnap">
<div class="item">2-1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
</div>
同じものを複数付ける場合はどの様にすれば行えるのでしょうか?
なにか良い方法は無いでしょうか?
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
1です。
Flickity
http://flickity.metafizzy.co
とか良さそうでした。ONZEさんで紹介もしていて簡単でした。
http://on-ze.com/archives/2147
あとslick.js
http://kenwheeler.github.io/slick/
デモページで同一クラスで設定しているサイトを見つけたので良いと思います。
どちらも検索すると、日本のクリエイターの人たちのブログなどでも紹介されているので良いと思います。
今回は紹介しましたが、普段から検索して自分に合うものを探して試すという作業もスキルアップの近道だと思いますので、今後は頑張ってみてください。
No.1
- 回答日時:
こんにちは。
このプラグイン、めんどくさいですね~。
結構古そうなので、今なら同じ挙動でもっと簡単なのもありますよ。
一応本家のデモページ見ましたが、やっぱり一括設定はできないみたいです。
なのでdivで囲んでidを付与します。
--------------------
【HTML】
それぞれにID付与します。
<div id="flip_container1">
<div class="viewport">
<div class="flipsnap">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</div>
<p class="controls">
<button disabled="" class="prev">prev</button>
<button class="next">next</button>
</p>
</div>
<div id="flip_container2">
<div class="viewport">
<div class="flipsnap">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</div>
<p class="controls">
<button disabled="" class="prev">prev</button>
<button class="next">next</button>
</p>
</div>
【jQuery】
これも個別で設定します。見てもらえばわかりますが、付与したidをつけたセレクタに書き換えてます。
またそれぞれ$(function(){});で囲っているのは、単純に、まとめて囲むと代入名をそれぞれで考えなきゃいけないのが面倒だったためです。
<script>
$(function(){
var flipsnap = Flipsnap('#flip_container1 .flipsnap', {
distance: 230
});
var $next = $('#flip_container1 .next').click(function() {
flipsnap.toNext();
});
var $prev = $('#flip_container1 .prev').click(function() {
flipsnap.toPrev();
});
flipsnap.element.addEventListener('fspointmove', function() {
$next.attr('disabled', !flipsnap.hasNext());
$prev.attr('disabled', !flipsnap.hasPrev());
}, false);
});
$(function(){
var flipsnap = Flipsnap('#flip_container2 .flipsnap', {
distance: 230
});
var $next = $('#flip_container2 .next').click(function() {
flipsnap.toNext();
});
var $prev = $('#flip_container2 .prev').click(function() {
flipsnap.toPrev();
});
flipsnap.element.addEventListener('fspointmove', function() {
$next.attr('disabled', !flipsnap.hasNext());
$prev.attr('disabled', !flipsnap.hasPrev());
}, false);
});
</script>
--------------------
これでそれぞれ動くと思います。
ただ、やっぱり、本家デモページもそれぞれ全部初期化・オプションも関数を書いていて、無駄が多いなと思いました。
前述したように、フリックで動くスライダープラグインはもっと他にあります。
大体が、オプションなどもこのプラグインのように毎回関数で設定などしなくても、
もっと簡易に呼び出せるように作ってくれていますし、今回のように個別設定しなくても、
同じクラスなら一括で適用できるようになっているものがほとんどです。
数が増えればそれだけ設定用のJSも増えるということなので、検討してみてはいかがでしょうか。
頑張ってください。
ありがとうございます。動きました!
勉強になりました!
フリックさせたい枠が9箇所もあるので、一括で適用できる物が良さそうですね。
もし宜しければ、お薦めのものはありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- JavaScript 【Javascript】ボタンクリックで2つのclassに対し、それぞれ別のclassを追加したい 1 2022/07/29 20:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマートフォンサイトに部分的...
-
MAX関数を使ってからLEFT JOIN...
-
前回の質問の続き
-
jQueryスライドショー画像への...
-
画像の表示位置
-
JavaScript スライドの画像にリ...
-
ポップアップのソースの書き方...
-
デフォルト非表示にしたい。【t...
-
onclickとonmouseoverを同時に...
-
複数トリガーで動作するアコー...
-
window.openで値の渡し方を教え...
-
背景色を透明化
-
バッチファイルでカウントアッ...
-
ホームページビルダー15 メニュ...
-
画像をランダムな座標に一定の...
-
createElementが一瞬で消えてし...
-
タブで開いてさらにタブ内をア...
-
スライダーを実装した場合、ペ...
-
jQueryで特定のURLの時のみ表示
-
bxsliderで最初に縦に複数表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像を2つ横に並べる方法と、...
-
Struts2のAjax Tagが機能しない
-
appendChildでのデフォルト値
-
【HTML、VBScript】HTAでのイベ...
-
seleniumbasic chrome操作について
-
webBrowserに表示されている文...
-
Excel VBAに翻訳して頂けません...
-
複数の要素を表示してる時だけ...
-
MAX関数を使ってからLEFT JOIN...
-
jspでcssが読み込めない
-
javascriptテキストBOX色を元に...
-
JSPでの画像ファイル表示
-
eclipseでcssを使うためには?
-
createElementで作成した要素を...
-
読み込んだQRコードをフォーム...
-
jqueryのsortableで一部ソート...
-
JavaScriptで変更した属性の元...
-
Slick.jsのオプションrtlについて
-
console.log結果をhtmlで表示し...
-
textareaに画像を表示したい
おすすめ情報