スマホでメニューなどを横スクロールする動作が一般的になり、PCでもそのままの動作させたい時
macだと「overflow:scroll」だけで、マウスでフリックするとそれっぽくなるけど
windowsだとメニューバーを押して移動して~ってやんなきゃいけない。
これじゃダメだからマウスのドラッグで横スクロールできるようにしよう!
DEMO
- 今
- 日
- は
- 天
- 気
- だ
- な
- ぁ
- 。
jQuery
$.prototype.draggable = function() {
var t;
$(this).each(function(i,e) {
$(e).mousedown(function(e2) {
e2.preventDefault();
t = $(e);
$(e).data({
down: true,
x: e2.clientX,
y: e2.clientY,
left: $(e).scrollLeft(),
top: $(e).scrollTop()
});
});
});
$(document).mousemove(function(e) {
if($(t).data("down")) {
e.preventDefault();
$(t).scrollLeft($(t).data("x")+$(t).data("left")-e.clientX);
$(t).scrollTop($(t).data("y")+$(t).data("top")-e.clientY);
}
}).mouseup(function(e) {
$(t).data("down", false);
});
};
$(".yoko-scroll").draggable();
このDEMOのHTMLとCSSもはっておくから、そのままコピペで実装してみてね!
HTML
<div class="yoko-scroll"> <ul> <li>今</li> <li>日</li> <li>は</li> <li>天</li> <li>気</li> <li>だ</li> <li>な</li> <li>ぁ</li> <li>。</li> </ul> </div>
CSS
.yoko-scroll {
width: 100%;
overflow-x: scroll;
-ms-overflow-style: none;
scrollbar-width: none;
}
.yoko-scroll::-webkit-scrollbar {
display: none;
}
.yoko-scroll ul {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
width: 3620px;
cursor: grab;
}
.yoko-scroll ul:active {
cursor: grabbing;
}
.yoko-scroll li {
width: 400px;
padding: 60px 0;
font-size: 150px;
text-align: center;
color: #ffffff;
background: #1de6c7;
border-right: 2px solid #ffffff;
}







コメント