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

[JS] Action après scroll

mbret
mbret
Niveau 13
09 août 2012 à 00:24:01

Bonsoir. Je n'arrive pas à réaliser un code en jquery.
En gros j'ai ça dans une page web

image1
image2
image3
<div id="last"></div>

J'aimerais que lorsque l'on scroll en dessous ou au niveau du div#last j'effectue une action. En gros on charge les nouvelles images une fois qu'on a défilé toutes les anciennes.

Donc il faudrait que si
- lors de l'affichage de la page on vois le div#last
- lors du scroll vers le bas on vois le div#last
Il se passe l'action.

Un petit peu d'aide les amis ?

Je vous remercie d'avance :-)))

Thymotep
Thymotep
Niveau 10
09 août 2012 à 08:31:02

Une piste, tu peux en jquery récupérer la position y de ton #last. Donc à partir du haut de la page jusqu'à l'élément tu sais combien il y a de pixel. Tu peux également savoir le y du scroll, en comparant les deux au scroll, si le y du scroll est supérieur à celui du div, c'est qu'il est afficher (ou que tu es plus bas dans tout les cas).

Donc, l'évenement, c'est 'scroll', juste avant tu récupère la valeur du y du div#last, et à l'intérieur de l'event tu fais un if qui compare avec la hauteur du scroll en y. Si > tu fais ce que tu souhaite :)

J'espère que je suis clair :ouch: j'ai pas le temps de te faire un exemple là :)

vava740
vava740
Niveau 10
09 août 2012 à 09:03:01

function calcul_affichage_images() {

var hauteur_de_l_ecran = $(window).height();
var hauteur_totale_de_la_page = $(document).height();
var position_div_par_rapport_au_haut_de_la_page = $('#last').offset().top;

}

$('body').scroll(calcul_affichage_images);
$(window).resize(calcul_affichage_images);

Et non je ne t'épargnerai pas les calculs à faire pour savoir quand tu dois exécuter ta fonction pour afficher les nouvelles images. :hap:

Un indice, si je t'ai mis une variable avec la hauteur de la fenêtre, c'est parce que si ta dernière div n'est pas aussi grande que l'écran de l'utilisateur, et qu'elle est bien en bas de la page, quand tu sera au maximum du scroll tu n'auras pas passé la div et rien ne se passera. C'est pourquoi si tu es dans ce cas là, il faudra déterminer la "vraie" hauteur de scroll pour continuer, qui serait dans ce cas au-dessus de ta dernière div.

J'ai également mis cette fonction au redimensionnement de la fenêtre car ça joue évidemment sur des variables utilisées pour les calculs. :ok:

mbret
mbret
Niveau 13
09 août 2012 à 14:45:38

A vous deux j'ai clairement ma réponse. Merci beaucoup ;). Je posterais mon code apres l'avoir fais pour ceux qui viendront ici.

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