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

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

DDD
DDDoriginal
2024-10-28 04:35:30144parcourir

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

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

Pour garantir qu'un div fixe défile horizontalement avec le contenu, une combinaison de code CSS et jQuery est nécessaire . Voici comment l'implémenter :

CSS

<code class="css">.scroll_fixed {
    position: absolute;
    top: 210px;
}

.scroll_fixed.fixed {
    position: fixed;
    top: 0;
}</code>

jQuery

<code class="javascript">// Retrieve the initial left offset
var leftInit = $(".scroll_fixed").offset().left;

// Get the top offset of the div
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));


$(window).scroll(function(event) {
    // Calculate the horizontal scroll position
    var x = 0 - $(this).scrollLeft();

    // Calculate the vertical scroll position
    var y = $(this).scrollTop();

    // Position the div based on scroll
    // Horizontally: Left margin of the initial position minus the horizontal scroll position
    // Vertically: Top margin of the initial position minus the vertical scroll position
    if (y >= top) {
        // Display the div at the top of the viewport
        $('.scroll_fixed').addClass('fixed');
    } else {
        // Remove the 'fixed' class from the div
        $('.scroll_fixed').removeClass('fixed');
    }

    $(".scroll_fixed").offset({
        left: x + leftInit,
        top: y
    });

});</code>

Ce code gère le défilement horizontal en ajustant la propriété gauche du div, en s'assurant qu'il reste synchronisé avec le contenu. La variable leftInit intègre d'éventuelles marges de gauche pour améliorer la précision de la fonction.

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