スクロール:

カルーセルの見えている要素情報を取得

Nodeに対して「overflow-x: scroll / overflow-y: scroll」を利用してカルーセルを実装している際に使用する。現在のスクロールコンテナの状態で完全に見えている要素の情報を取得。見えている最初の要素番号、見えている要素の数、スクロールコンテナ内の全要素数を配列で返す。

Node
コンテナNodeを指定 id値を文字列で指定してもよい
String
コンテナ内のタグ名を指定 省略した場合は div を使用する
●必須引数 ●オプション引数(省略可能)

記述例

$getCarouselVisible($id('nodeId'))
$getCarouselVisible('nodeId', 'a')

戻り値

コンテナNodeの子Nodeを配列要素として扱い、見えている要素の情報を配列で返す。

配列[0]:見えている最初の要素番号

配列[1]:見えている要素の数

配列[2]:スクロールコンテナ内の全要素数

動作サンプル

sample10
sample11
sample12
sample13
sample14
sample15
HTML : <div id="sample1"> <div>0</div> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div>
Sass : #sample1 { display: flex; overflow-x: scroll; overflow-y: hidden; scroll-snap-type: x mandatory; & > div { scroll-snap-align: start; } }
Javascript : var itemNum=$getCarouselVisible($id('sample1'))[0]; var itemLength=$getCarouselVisible('sample1')[1]; var itemTotal=$getCarouselVisible('sample1')[2];
HTML : <div id="sample2"> <a href="─">0</a> <a href="─">1</a> <a href="─">2</a> <a href="─">3</a> <a href="─">4</a> <a href="─">5</a> </div>
Sass : #sample2 { display: flex; flex-wrap: wrap; overflow-x: hidden; overflow-y: scroll; }
Javascript : var itemNum=$getCarouselVisible($id('sample2'),'a')[0]; var itemLength=$getCarouselVisible('sample2','a')[1]; var itemTotal=$getCarouselVisible('sample2','a')[2];
※上記のサンプルコードは主にPC表示用を想定している。スマホ用のコーディングでは別途調整が必要となる可能性がある。
※この関数の動作サンプルとして必須ではない装飾的なCSSコードなどは省略して提示している。