2017-12-25 7 views
3

これは「ハック」とみなされるかもしれませんが、&の場合、垂直スクロールバー(マウスホイール)を使用してウェブサイトコンテンツを水平方向にスクロールする方法が考えられます。垂直スクロールバーから水平スクロールコンテンツを使用する

は、基本的には、このサイトが何をするか:現在、私のサイト上でhttp://en.momentomultimedia.com/

を私は、水平スクロールバーを持っているし、スクロールするマウスホイールを使用しています。

これは私が現在(オーバーフロー-X/W:スクロール、オーバーフロー-Y:隠された):マウスホイールを経由して水平に自分のサイトのスクロールを作るために使用するものである

$(document).ready(function() { 
$('#wrapper').on("mousewheel", function(e, delta) { 
    this.scrollLeft -= (delta * 70); 
    e.preventDefault(); 
}); 

}); 
+0

[これ](https://css-tricks.com/snippets/jquery/horz-scroll-with-mouse-wheel/)であります私が使っているもの – chrisz

+0

これは私が使用しているものです。しかし、それは水平スクロールバーに依存します。私は水平スクロールするために、垂直スクロールバーを使用したいと思います。それはややハッキーです。 – BMS

+0

彼らのページは固定されたページの内容の幅の高さになりますが、実際にページは固定位置のオーバーレイになります。だから、ページをスクロールするときに、同じ場所に固定されているのでそのままになります。スクロールでは、スクロールされたpxの量に 'left'を設定します。どちらの方法もハックであり、独自の欠点があります。 –

答えて

2

あなたが言及したページは偽のコンテンツのdivを持っています#falsocontenidoの高さを実際のコンテンツの幅に設定します。実際のコンテンツの後ろに隠れています。位置は固定されているので、偽のdivとともにスクロールしません。ページをスクロールすると、負の実際のスクロール値が取得され、実際のコンテンツのleftが設定されます。それが全体のロジックです。ここ

デモ

$(window).on('scroll', function() { 
 
    $("#realcontent").css("left", -$(window).scrollTop()); 
 
});
#realcontent { 
 
    background-color: #333; 
 
    position: fixed; 
 
    top: 5px; 
 
    left: 0; 
 
    width: 2000px; 
 
    color: #fff; 
 
    height: 100px 
 
} 
 

 
#fakecontent { 
 
    height: 2000px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="realcontent">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam a est maiores fugiat nesciunt, at ad. Tempore odio velit ipsam, laborum explicabo repudiandae aliquid nostrum qui dolorem obcaecati, autem expedita!</div> 
 
<div id="fakecontent"></div>

+1

ああ、私は参照してください。この例をありがとう。 – BMS

関連する問題