初めて質問します。
slick,js(http://kenwheeler.github.io/slick/)を利用して、
スライダーの実装しているのですが、うまく実装ができず質問しました。
■やりたいこと
公式の「Data Attribute Settings」の動きだが、
スライドの開始、終了位置がコンテンツ幅を超えないようにしたい。
(公式だとコンテンツの表示幅を超えてスライドされる)
■こまっていること
・marginを含めたコンテンツ幅を指定すると、
slick上では固定幅のコンテンツに+されて計算される。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ANo1です。
slickを知っているわけではないですが、残念ながらご質問の意味もよくわかりません。
>やりたいことは、「Data Attribute Settings」です。
No1にも記しましたが、「Data Attribute Settings」は設定方法の手段の話ですので、機能の内容とは無関係なはずです。
(それなので、「Data Attribute Settings」をやりたければ、その設定方法を採用すれば良いだけということになります)
一方で、以下は機能についての話のように思えます。
>スライドする時に現在のコンテンツ幅を超えてスライドしないようにしたい
コンテンツとおっしゃっているのはスライダーの親要素のことでしょうか?
(図の赤で示した境界を持つ要素のこと?)
「その範囲を超えてスライドしない」ということは「赤い境界を越えてスライドしない」という意味にもとれますが、それだと、そもそもスライドしなくなってしまうのでは?
「一度にスライドする量」の意味でしたら、slidesToScrollを指定することで制御可能なように思われます。
「ドラッグ時にslidesToScrollで指定したスライド数よりも大きく移動してから戻る」、ことを意味しているのなら、それはそのように作られているからではないでしょうか。
(スマホ環境では試していませんが、スワイプ時も同様と推測します)
想像するところ、ドラッグ(スワイプ)と感覚的に合うようにスクロールするように制御していて、離した際に本来の位置へ移動する仕様にしているのだと思います。
どうしてもこれをカスタマイズなさりたいのなら、スクリプトの内部を解析して、ドラッグ(スワイプ)に対応している処理の部分で、スクロール量がslidesToScrollの指定量以上になったらそれ以降は無視するといったような制御を追加することで実現できるのでないかと想像します。
あるいは、いっそのことslickの機能でのドラッグ(スワイプ)は停止して、これに対応するイベント処理だけを自作するという方法もあるかも知れません。
確認はしていませんが、swipeやswipeToSlideあたりのオプションで停止は可能ではないかと思います。(こちらの方が解析をしなくてよい分、簡単かも知れません)
とは言え、通常でユーザに解放されているスライド動作の制御は、「〇番目のスライドへ移動」といった程度ですので、スライド動作中の中間位置などまでを制御することはではできないと思います。
この範囲の制御でどのようなUIにしておくのかは工夫を要するところのように思います。
fujillin様
再度ご回答ありがとうございます。
なかなか伝わらずすみません。
>「赤い境界を越えてスライドしない」という意味にもとれますが
まさにこちらです。
ちょうど希望の動作を行っている再度がありましたのでそちらで試してみます。
ありがとうございました。
http://ithat.me/2016/10/17/how-to-use-slick-jque …
こちらのガターです。
No.1
- 回答日時:
こんにちは
slickについてはほとんど知りませんので、サイト内の説明を斜め読みしただけですが・・・
>スライドの開始、終了位置がコンテンツ幅を超えないようにしたい
循環表示されないようにしたいということでしょうか?
(いわゆるカルーセルを行いたくないという意味?)
ドキュメントによるとslickではinfiniteオプションとしているようですので、これをfalse指定することで実現できるかと。デフォルトはtrueのようです。
>marginを含めたコンテンツ幅を指定すると、
>slick上では固定幅のコンテンツに+されて計算される。
意味がよくわかりませんが、sliderとして指定した要素の直下の要素群が個々のスライドとして認識される仕組みのようです。
「marginを含める」の意味がわかりませんが、指定されたサイズがスライドのサイズとして認識されるはずと思います。
marginを調整したい場合は、CSSのmarginで調節できます。(.slick-slideのmargin)
DL時のサンプルのregularなどをそのまま単独設置してから、少しずつ変更してみればわかると思います。
Data Attribute Settingsは、単に、オプション指定をHTML内のdata-slick属性から指定する方法を提示しているものなので、基本的な機能はスクリプトのオプションとして指定するのと変わらないはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- その他(悩み相談・人生相談) 誰からも嫌われない趣味について 8 2022/07/23 14:12
- インターネット広告・アフィリエイト Googleアドセンスの審査がなかなか通りません。 テーマは「美容と健康」について。 不合格の理由は 5 2022/09/26 18:24
- システム ホームページの仕組みについて 3 2022/08/16 14:33
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- 物理学 速度とは何か? 7 2023/04/16 13:45
- 政治 自動運転で、日本が世界から後れるのは自民党の責任ですね? 2 2023/04/06 13:26
- HTML・CSS CSS上での計算を行うためのルールについて教えてください。 3 2022/08/15 14:43
- YouTube YouTubeのコンテンツIDについて教えてください。 1 2022/05/18 08:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック(__doPostback)へ...
-
C#でドラッグ&ドロップが機能し...
-
ポストバック時の画面スクロー...
-
アクセス+vb 複数コントロー...
-
c# 文字列の最後から1文字削除...
-
オートマトンNFAからDFAへの変換
-
Excel:「フォーム」のボタンで...
-
Q&Aフォームを作成したいのです...
-
ブラウザの×ボタン判定
-
コネクション・セッション・ト...
-
画面遷移が不正ですと表示されます
-
SUBMITボタンを表示させないでS...
-
システム開発の工数と費用について
-
SPREADでカーソルの位置を1行目...
-
DataGridViewのチェックボック...
-
dos画面が一瞬立ち上がる
-
PHPからWindowsログインユーザ...
-
今更、VBAでRPA、キーボード操...
-
チャレンジタッチの画面にスマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック時の画面スクロー...
-
【ASP.NET】マスターページに配...
-
C#でドラッグ&ドロップが機能し...
-
【VB6】 変数1 = 変数1 Or $H2
-
Ctrl+vのイベントを解除
-
【ASP2.0】TextBoxのフォーカス...
-
リストビュー内でのドラッグ&...
-
自作exeを常駐させるとPCがシャ...
-
[ASP.NET] ページ内でジャンプ。
-
ポストバック(__doPostback)へ...
-
aspxファイル実行時の表示順に...
-
ドラッグドロップ(AllowDrop)に...
-
C#のマルチスレッド処理について
-
slick.jsによるスライダー実装...
-
TreeViewの制御について
-
treeview展開イベント(VS2010C++)
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
画面遷移が不正ですと表示されます
おすすめ情報
fujillin様
ご回答ありがとうございます。
説明がややこしかったのようなので、シンプルにします。
やりたいことは、「Data Attribute Settings」です。
ただ、スライドする時に現在のコンテンツ幅を超えてスライドしないようにしたい。ということです。
※コンテンツ幅は図1でいうと1280pxです。
公式でもスライド時はこの幅を超えてスライドしてしまいます。