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 chargement script ajax

Fire_Storm
Fire_Storm
Niveau 10
26 mars 2012 à 15:28:59

Salut à tous j'ai un problème bien chiant et pas moyen de trouver de solution.

En fait j'ai un site où le client veut de la musique sur son site, pour une meilleure ergonomie j'ai donc fait le chargement des pages en Ajax (avec jquery) mais il se fait qu'il y a aussi un slideshow sur la première page.

Au premier chargement il n'y aucun problème, là où ça coince c'est quand je rappelle cette page: le script est réuploadé une seconde fois et le joli slideshow déconne bien (on passe 3 images d'affilée par exemple etc), évidemment à chaque chargement de la page en question on réuploade également la configuration qui s'ajoute donc aux précédentes !

Vous allez me dire qu'il suffit de le mettre or de la page à charger sauf qu'a ce moment là plus rien ne fonctionne (en bref c'est comme si les les étaient inexistants, qu'il voit ça comme 2 pages différentes et non comme une seule).

Bref si quelqu'un sait comment résoudre ce PUTAIN de soucis qui me prend la tête depuis des heures ça serait vraiment sympa de votre part.

deepblue
deepblue
Niveau 16
26 mars 2012 à 16:54:29

Sépare ton code comme tu l'as dis. Simplement, quand tu recharges ton contenu, les éléments html ne sont plus les mêmes et ce que le slideshow a configuré pour le premier affichage de ta page ne sera pas vrai une fois rechargé via javascript. Donc à l'issu du rechargement, tu redemandes de lancer le javascript qui s'occupe du slideshow.

Si $("#foo").slideshow(); est ta fonction qui met en place le slideshow, à chaque reload, si la page contient "#foo" alors tu demandes explicitement l'exécution de $('#foo').slideshow();

Fire_Storm
Fire_Storm
Niveau 10
26 mars 2012 à 17:04:43

Wow attend là. ^^

Mon site se divise en gros en:

Header (logo, menu etc)

Content (tout le contenu du milieu)

Footer

Une des pages du content est accueil.php

C'est la partie content qui change avec ajax. Si je met le code dans le header le slideshow ne veut pas fonctionner, si je le met dans accueil.php il fonctionne la première fois mais plante quand j'y reviens (car de nouveau réuploadé). Bref ton code dois je le mettre dans le header (non rechargé par ajax quoi) ou bien directement dans accueil.php ?

deepblue
deepblue
Niveau 16
26 mars 2012 à 17:26:18

1- tu fais une fonction qui exécute ce qu'il faut pour le slideshow :
function run_slideshow() {
/* jquery du slideshow */
}

2- tu ajoutes dans le js séparé :
$(function() {
run_slideshow();
});
Ça veut dire que quand le dom est complétement chargé, on fait démarrer le slideshow

3- tu as ton javascript qui recharche des partie de la page. Tu as sans doute un truc du genre

$.ajax({
/* des options dans tout les sens*/
});

Il te suffirait de faire un truc du genre :

$.ajax({
/* des options dans tout les sens*/
complete: function(status) {
if(status == 'success') {
run_slideshow();
}
}
});

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