ホームページ > ウェブフロントエンド > CSSチュートリアル > jQueryを使用してコンテンツを固定位置のDivスクロールを水平方向に作成する方法は?

jQueryを使用してコンテンツを固定位置のDivスクロールを水平方向に作成する方法は?

Mary-Kate Olsen
リリース: 2024-10-29 09:30:30
オリジナル
555 人が閲覧しました

How to Make a Fixed Position Div Scroll Horizontally with Content Using jQuery?

jQuery を使用した固定位置 Div の水平スクロール

この記事では、固定位置 Div 内の水平方向のコンテンツ スクロールの問題に対処します。 jQuery を使用して div を配置します。

ユーザーは、scroll_fixed クラスの div を持っており、ページの先頭に到達したときにそれを修正したいと考えています。次の CSS スタイルで div をスタイルします:

.scroll_fixed {
    position:absolute
    top:210px
}
.scroll_fixed.fixed {
    position:fixed;
    top:0;
}
ログイン後にコピー

jQuery コードは、div が先頭に達したときに固定クラスを追加するために使用されます:

$(window).scroll(function (event) {
    // Check if the scroll position is greater than the top offset of the div
    if ($(this).scrollTop() >= top) {
        $('.scroll_fixed').addClass('fixed');
    } else {
        $('.scroll_fixed').removeClass('fixed');
    }
});
ログイン後にコピー

これは垂直スクロールではうまく機能しますが、ブラウザウィンドウが小さい場合、div の右側のコンテンツと競合します。ユーザーは、div がコンテンツとともに水平方向にスクロールすることを望んでいます。

/解決策:

div を水平方向にスクロールさせるには、その位置を固定して操作する必要があります。上部ではなく左側のプロパティ。次の更新された jQuery コードはこれを実現します。

var leftInit = $(".scroll_fixed").offset().left;

$(window).scroll(function (event) {
    // Get the current scroll positions
    var x = 0 - $(this).scrollLeft();
    var y = $(this).scrollTop();

    // Fix the div when it reaches the top
    if (y >= top) {
        $('.scroll_fixed').addClass('fixed');
    } else {
        $('.scroll_fixed').removeClass('fixed');
    }

    // Adjust the left offset of the div based on the scroll position
    $(".scroll_fixed").offset({
        left: x + leftInit
    });
});
ログイン後にコピー

leftInit を使用することで、div の左マージンを考慮します。このソリューションを http://jsfiddle.net/F7Bme/

で試してください。

以上がjQueryを使用してコンテンツを固定位置のDivスクロールを水平方向に作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート