CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème avec JS pour modifier 'top' CSS

oga95
oga95
Niveau 10
24 septembre 2012 à 00:18:13

Salut tout le monde, je fais actuellement un menu qui se cache automatiquement quand le scroll de la page le dépasse et que lorsque c'est le cas, il ne reste qu'un bandeau fixe en haut de la page.

J'ai un peu de mal à expliqué... j'hespere que mon code vous expliquera ce que je n'ai pas su dire:

$(function(){
$('.sticky').each(function(){
var hauteur = $(this).height();
var hauteur2 = hauteur - 16;
var dTop = $(this).offset().top;
var dTopD = dTop + hauteur2;
var elem = $(this);

var Ton = 200;
var Toff = 300;

$(window).scroll(function(){
if($(window).scrollTop()>hauteur2){
elem.css('position','fixed');
elem.css('top','-' + hauteur2);
}
else {
elem.css('position','absolute');
elem.css('top','0');
};
});

elem.mouseover(function(){
elem.stop().animate({top: "0"}, Ton, 'easeOutBounce')
});
elem.mouseout(function(){
if($(window).scrollTop()>hauteur2){
elem.stop().animate({top: "-" + hauteur2}, Toff, 'easeOutElastic')
};
});
});
});

Mon problème est que lorsque je scroll, le menu passe bien en position: fixed si il est plus loin dans la page que le menu, mais il ne fait pas le décalage par rapport au top.

Je me suis suis dit que moi "'-' + hauteur2" pouvait poser problème, mais même en le remplaçant par un nombre quelconque, rien ne change.

Une idée?
Je vous remercie d'avance.

oga95
oga95
Niveau 10
24 septembre 2012 à 12:11:40

Petit :up: pour signaler que le problème est toujours d’actualité.

Thymotep
Thymotep
Niveau 10
24 septembre 2012 à 12:29:11

Pas de UP avant la deuxième page, mais tu le sais, tu as du lire les règles A LIRE AVANT DE POSTER :)

Thymotep
Thymotep
Niveau 10
24 septembre 2012 à 12:30:06

elem.css('top','0'); :d) elem.css('top','0px');
elem.stop().animate({top: "0"}, Ton, 'easeOutBounce') :d) elem.stop().animate({top: "0px"}, Ton, 'easeOutBounce')

oga95
oga95
Niveau 10
25 septembre 2012 à 08:14:02

Evidemment que je l'ai lu, mais une journée complete sans signe de vie sur le forum, je me suis inquiété ^^.

Je te remercie, ça fonctionne très bien.
Je garde ça dans un coin de ma tête :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment