11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour

J ai une barre de navigation transparente qui prend une couleur de fond au scroll de la page et redevient transparente quand la page retourne à son point initial... et tout fonctionne comme je le souhaite.
Je redimensionne et pas de pb tout va bien.

Par contre quand je réduis la fenêtre du navigateur et que je le re affiche en plein écran, la barre est systématiquement transparente, quelque soit sa position.

J aimerais donc savoir s il est possible de détecter le passage au premier plan du navigateur .

merci de vos réponses.

pour info j utilise ce code jquery pour ma barre de navigation :
$(document).on('scroll', function() {
    if ($(this).scrollTop() >= 20) {
        $(".sp-navbar-fixed-top").addClass('sp-scrolled');
    } else {
        $(".sp-navbar-fixed-top").removeClass('sp-scrolled');
    }

});
Modérateur
Et l'eau,

var manageScrollBar = function() {
    if ($(this).scrollTop() >= 20) {
        $(".sp-navbar-fixed-top").addClass('sp-scrolled');
    } else {
        $(".sp-navbar-fixed-top").removeClass('sp-scrolled');
    }
};
$(window).on('resize', manageScrollBar );
$(document).on('scroll', manageScrollBar );

code fait de tête, je peux m'être trompé (mais c'est une piste à suivre)
Modifié par niuxe (06 Jul 2019 - 01:27)
C est parfait, je te remercie, tout fonctionne à merveille Smiley smile

Edit :

je precise qu il faut simplement modifier
if ($(this).scrollTop() >= 20)

par

if ($(window).scrollTop() >= 20)

Modifié par rooky06 (07 Jul 2019 - 23:53)