IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Comment attendre qu'une image soit chargée


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Comment attendre qu'une image soit chargée
    Bonjour,

    J'ai un code assez simple qui va dimensionner la hauteur d'une colonne en fonctione de la hauteur de l'image.
    Parfois, principalement que je charge pour la premiere fois la page, la colonne n'est pas dimensionnée. J'ai comme l'impression que le sciprt est excécuté avant que l'image est totalement chargée.

    Donc pour etre sûre, j'aimerais que le script soit excécuté quand l'image est chargée.
    Après avoir cherché sur le net, J'ai donc essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function bg_heigh(){
     
    	$(".imgbg").load(function(){
     
    		if($(window).width() < 768)
    		{
    			$('.bg').height($('#xs-image').height());
    		}
    		else
    		{
    			$('.bg').height($('#large-image img').height());
    		}
    	});
     
    }
    Mais j'ai ce message d'erreur:
    TypeError: e.indexOf is not a function[Learn More]
    Comment feriez-vous pour que ceci soit excécuté après que l'image soit totalement chargle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($(window).width() < 768)
    		{
    			$('.bg').height($('#xs-image').height());
    		}
    		else
    		{
    			$('.bg').height($('#large-image img').height());
    		}
    Merci pour vos lumières

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    à quel moment appelles-tu la fonction ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Hello

    J'ai donc cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    function bg_heigh(){
    $(".imgbg").load(function(){
     
    		if($(window).width() < 768)
    		{
    			$('.bg').height($('#xs-image').height());
    		}
    		else
    		{
    			$('.bg').height($('#large-image img').height());
    		}
    	});
     
    }
    et dans document.ready, il l'appelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function(){
    bg_heigh();
    })

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function(){
      // ..
    })
    cela te garanti que le DOM est prêt, pas que les images sont chargées.

    Regarde du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $( window ).on( "load", function() {
      // ..
    });

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ou directement sur le .load des images ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonsoir,
    ou sinon utiliser
    Image()

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/08/2016, 15h35
  2. [MySQL] Comment inserer soit une image soit une video?
    Par chanteur06 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/11/2010, 09h30
  3. Réponses: 19
    Dernier message: 13/01/2008, 23h33
  4. Comment savoir si une image a été chargée??
    Par Travailleuuse06 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2006, 09h09
  5. [Image]comment pre-charger une image
    Par al85 dans le forum 2D
    Réponses: 5
    Dernier message: 28/02/2005, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo