CSSのscroll-snap-typeを利用している場合に使用する。スナップしている要素番号を返す。
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 {
flex: none;
scroll-snap-align: start;
}
}
Javascript :
var snapPos=$getSnapPosition($id('sample1'));
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;
overflow-x: scroll;
overflow-y: hidden;
scroll-snap-type: x mandatory;
& > div {
flex: none;
scroll-snap-align: center;
}
}
Javascript :
var snapPos=$getSnapPosition('sample2','a');
コンテナーに「scroll-padding-top: 20px;」を適用しているサンプル。
HTML :
<div id="sample3">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
Sass :
#sample3 {
display: flex;
flex-wrap: wrap;
overflow-x: hidden;
overflow-y: scroll;
scroll-snap-type: y mandatory;
scroll-padding-top: 20px; //上端から20pxの位置にスナップ
& > div {
flex: none;
scroll-snap-align: start;
}
}
Javascript :
var snapPos=$getSnapPosition('sample3');