Maison  >  Article  >  interface Web  >  Comment faire défiler horizontalement un Div fixe avec du contenu à l'aide de jQuery ?

Comment faire défiler horizontalement un Div fixe avec du contenu à l'aide de jQuery ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 00:14:02320parcourir

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

Correction d'un div à défilement horizontal avec du contenu à l'aide de jQuery

Question :

Comment puis-je définir la position d'un div fixe pour qu'il défile horizontalement avec le contenu ?

Description détaillée :

Un élément div avec la classe CSS "scroll_fixed" est initialement défini à une position absolue. Cependant, lorsque le div atteint le haut de la page, le code jQuery ajoute la classe "fixed" pour fixer sa position. Cette configuration fonctionne bien pour le défilement vertical, mais le défilement horizontal provoque des problèmes avec le contenu vers la droite.

Objectif :

Faire défiler le div horizontalement avec le contenu, similaire à la deuxième case dans un exemple fourni.

Réponse :

Pour réaliser un défilement horizontal pour le div, la solution maintient la position de l'élément fixe mais manipule sa propriété left :

<code class="javascript">var leftInit = $(".scroll_fixed").offset().left;
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));

$(window).scroll(function(event) {
    var x = 0 - $(this).scrollLeft();
    var y = $(this).scrollTop();

    // Check if the element should be fixed based on vertical scroll
    if (y >= top) {
        // if so, ad the fixed class
        $('.scroll_fixed').addClass('fixed');
    } else {
        // otherwise remove it
        $('.scroll_fixed').removeClass('fixed');
    }

    // Adjust the element's left position based on horizontal scroll
    $(".scroll_fixed").offset({
        left: x + leftInit
    });

});</code>

Cela garantit que le div défile horizontalement avec le contenu de la page tout en conservant sa position fixe verticalement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn