1

私は言うことができるdivを持っています

height:2000px 

width: 30px

そして、その位置を修正する必要があります

しかし、私が使用するとき

position: fixed

次に、divは常に表示されますが、「オーバーフローした」コンテンツを表示するために垂直にスクロールすることはできません

このプラグインを見つけました: https://github.com/bigspotteddog/ScrollToFixed

ただし、水平スクロールでのみ機能します。

どうすればいいですか?

4

2 に答える 2

0

これはjavascriptで行う必要があります。前述のプラグインのソースを見ると、ターゲット要素のオフセットが格納され、水平スクロール位置に基づいて左側の位置が設定されていることがわかります。これは、独自の「固定」機能を実装していることを意味します。

基本的に、水平スクロールが200の場合、ターゲットを左に200シフトします。これは、水平方向ではなく垂直方向に行います。

ウィンドウがスクロールされるたびに(window.scrollイベントにバインドされます)、垂直位置を確認してから、要素を垂直スクロール位置で反対方向(上)に移動し、開始位置を左に保ちます。これにより、修正されたように見えます。

プラグインがこれをどのように行うかについて質問がある場合は、プラグインのソースを確認してください。

https://github.com/bigspotteddog/ScrollToFixed/blob/master/jquery-scrolltofixed.js

編集:私は言うべきだった、固定機能をオーバーライドします。ターゲット要素を固定してから、上記のように垂直スクロール位置に従って垂直位置を調整します。

于 2012-08-22T18:51:48.233 に答える
0

position: absolute;Fix を試してみると、要素の位置が同じに保たれます。absolute「要素は、最初に配置された (静的ではない) 祖先要素に対して相対的に配置されます」を使用する場合は、ここで w3schools を確認してください。

于 2019-07-12T10:04:51.840 に答える