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

JavaScript Discussion :

executer fonction automatiquement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut executer fonction automatiquement
    Salut,

    Voilà mon problème : je veux executer automatiquement une fonction au chargement de ma page (celle-ci redimensionne une image) :

    Les recherches que j'ai fais m'ont donné trois solutions, mais aucune ne me satisfait vraiment. Je précise quand même que je suis une croute en js

    -solution1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="javascript:initimages();">
    Ca marche, mais...
    Cette solution ne me convient pas, car j'utilise un "header" en pseudo frame (donc présent sur toutes les pages) et selon la page à charger je n'utilise pas cette fonction (donc inutile de la charger) ou j'utilise une autre fonction.

    -solution2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript" src="../communs/redimimg.js"></script>
    <script>setTimeout('initimages()',2)</script>
    Cette solution me convient mieux (je peux la mettre seulement sur les pages qui en ont besoin), mais je ne la trouve pas "propre" : je suis peut-être un peu maniac , mais pourquoi utiliser un timeout si j'en ai pas besoin : je veux juste executer ma fonction quand la page se charge. Bon je pourrai mettre '0' comme timeout, mais s'il y a mieux...

    -solution3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript" src="../communs/redimimg.js"></script>
    <script>initimages();</script>
    Celle-là serait idéal... mais elle ne marche pas

    Au cas où, voilà le code de ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function initimages() {
      var prefixe_imaget = 'imgt_' ;
      var j = 1 ;
      while (document.getElementById) {
        if(document.getElementById(prefixe_imaget+j).width > 400) {
           document.getElementById(prefixe_imaget+j).width = 400 ;}
        j++ ;}
    }
    Merci pour vos conseil éclairé

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    J'espere ne pas dire de betise, mais ou places tu ta 3eme solution ? juste apres le body ? As tu essayé en toute fin de page ?

  3. #3
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    non, je n'ai pas essayé en fin de page, c'est au milieu de ma page. Mais je risque d'avoir le même problème qu'en la placant dans le <body> de mon header, puisque j'utilise aussi un footer.

  4. #4
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    Résolu !!!

    Merci Loko de m'avoir mis sur la voie : en fait j'ai placé ma solution 3 "en dessous de l'affichage" de mes images et ça marche !!!

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    C'est fou le nombre de fois ou l'on peut voir ce genre de syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="javascript:initimages();"

    je me demande bien ce qu'un javascript peut attendre d'autre que du javascript ?????????????
    peut être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="recettedecuisine:pouletbasquaise()"

    plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="initimages();">
    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 éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    zamanika: de rien. En effet, il faut comprendre que le javascript est interpreté "séquentiellement", cad au fur et a mesure du code de ta page. Pour traiter en javascript un element de ta page, il faut donc que cet element "existe" au préalable

    SpaceFrog : il ne faut pas leur en vouloir, dans TOUS les tutoriels/aide en ligne que j'ai pu voir, le "javascript:" est précisé ...

  7. #7
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    ceci il y a peut être une subtilité mais elle m'échappe complètement !!!
    Si quelqu'un à déja vu autre chose que du javascript dans les évènements ...

    peut être un appel de VBScript mais je ne l'ai jamais vu précisé nullepart
    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 !

  8. #8
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    Citation Envoyé par SpaceFrog
    C'est fou le nombre de fois ou l'on peut voir ce genre de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="javascript:initimages();"
    Salut SpaceFrog

    Ben comme le dis Loko, c'est dans un tutoriel que j'ai vu cette syntaxe et comme j'ai précisé dans mon premier post, je suis une grosse croute en js, je me suis contenté de recopier ce que j'ai trouvé dans mes recherches

    Faut pas m'en vouloir promis, je referai plus cette grossière erreur

    Notes que si ça marche pour les poulet basquaise, je vais continuer à écrire mes scripts en précisant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34
  2. Réponses: 4
    Dernier message: 19/05/2005, 11h51
  3. Valider avant execution fonction
    Par jeff37 dans le forum ASP
    Réponses: 3
    Dernier message: 08/09/2004, 12h39
  4. [C#] MDI Execution fonction sur fille a partir de la mere
    Par alex57 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/07/2004, 10h00
  5. Réponses: 4
    Dernier message: 16/03/2004, 18h03

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