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 :

appel d'une fonction javascript par un fichier [Débutant(e)]


Sujet :

jQuery

  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 56
    Par défaut appel d'une fonction javascript par un fichier
    Bonjour,

    Pour celles et ceux qui m'auraient croisés je suis toujours sur le projet que j'ai décris ici dans le forum css.

    Tout se passe plutôt bien les navigateurs réagissent tous bien et j'essaye d'alléger un peu le code d'une de mes pages.

    Je m'explique, j'ai ce code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <script type="text/javascript">					<!-- appel du nivoslider -->
    			$(window).load(function() {
    				$('#slider').nivoSlider({
    					effect: 'fold', // Specify sets like: 'fold,fade,sliceDown'
    					slices: 15, // For slice animations
    					boxCols: 8, // For box animations
    					boxRows: 4, // For box animations
    					animSpeed: 1000, // Slide transition speed
    					pauseTime: 6000, // How long each slide will show
    					startSlide: 0, // Set starting Slide (0 index)
    					directionNav: true, // Next & Prev navigation
    					controlNav: true, // 1,2,3... navigation
    					controlNavThumbs: false, // Use thumbnails for Control Nav
    					pauseOnHover: true, // Stop animation while hovering
    					manualAdvance: false, // Force manual transitions
    					prevText: 'Prev', // Prev directionNav text
    					nextText: 'Next', // Next directionNav text
    					randomStart: false, // Start on a random slide
    					beforeChange: function(){}, // Triggers before a slide transition
    					afterChange: function(){}, // Triggers after a slide transition
    					slideshowEnd: function(){}, // Triggers after all slides have been shown
    					lastSlide: function(){}, // Triggers when last slide is shown
    					afterLoad: function(){}
    				});
     
    			});
    		</script>
    Et je souhaiterai alléger la page en faisant un truc du genre
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript">				
        $(window).load(function() { mafonction(); }

    ou j'aurai juste recopié le code dans un fichier.js

    Ca ne changerait rien au rendu final mais rendrait la page bien plus lisible.

    Pourriez vous m'indiquer comment je pourrais m'y prendre ( pour apprendre )

    D'avance je vous remercie beaucoup

  2. #2
    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,
    le plus simplement possible en mettant dans la page HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="nom_fichier.js"></script>
    et dans le fichier nom_fichier.js tu mets le code, sans les balises <script>

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    tu peux aussi éviter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(window).load(function() {
    ceci est + propre (avis perso) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function() {
    ou :
    ou encore mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    jQuery.noConflict();
    jQuery(function($) {

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    @Lorenzo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function() {
    n'est pas plus propre que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(window).load(function() {
    ça n'a pas la même utilité.
    Le premier code se lance lorsque le DOM a fini d'être parsé (toutes les balises ont été interprétées et intégrées) alors que le second se déclenche lorsque tous les éléments ont fini d'être chargé, c'est-à-dire les éléments dits remplacés, comme les images, iframes etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    jQuery.noConflict();
    jQuery(function($) {
    avec cette notation, noConflict() n'est pas utile puisque $ correspond déjà à jQuery dans la closure créée.

    @mrmaxwell.
    + Comment utiliser un script externe ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    ben non, justement tu remets le $ (au cas ou la var a été écrasé) a sa bonne valeur en lancant le noConflict juste avant et ensuite tu le "caches" dans une fonction en le passant comme un argument, j'explique mal mais la doc de JQ est clair a ce propos :
    Revert the $ alias and then create and execute a function to provide the $ as a jQuery alias inside the function's scope. Inside the function the original $ object is not available. This works well for most plugins that don't rely on any other library.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    jQuery.noConflict();
    (function($) {
    $(function() {
    // more code using $ as alias to jQuery
    });
    })(jQuery);
    // other code using $ as an alias to the other library
    j'ai juste fait une erreur quand j'ai ajouté jquery devant la "closure"

  6. #6
    Membre éprouvé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 56
    Par défaut Merci mais pour etre sur
    Oula je ne voulais pas lancer un débat et mettre le bazar, désolé

    En tout cas merci pour votre réponse rapide.

    Juste pour être sur dans le fichier js pour déclarer la fonction j'inscris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     function mafonction({
    
    le code que j'ai cité précédemment
    
    )};
    Je sais que c'est une question de base pour un langage mais entre l’apprentissage du css, du html, bientôt le premier déploiement et le bonus du htaccess à apprendre j'ai du mal à tout entreprendre seul en même temps.

    Merci encore

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    $( window ).load( mafonction );.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  8. #8
    Membre éprouvé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 56
    Par défaut C'était tout bete
    Ca marche

    En effet c'était tout bêtement le copier coller du code entre les balises script dans un fichier .js que l'on appelle ensuite via l'attribut src.

    Ce que je n'avais pas compris c'est que le code une fois "lu par la machine" se déclenchait de lui même au bon moment puisque j'avais spécifiée $(window).load( dans le script.

    Merci beaucoup

    PS: C'est avec une pointe de fierté que je vous annonce la mise en ligne de mon tout premier site à cette adresse

    Merci a toute la communauté web pour son savoir et son aide.

  9. #9
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Les outils du développeur de Chrome (touche F12) signalent deux erreurs dans la console :

    1. Failed to load resource: the server responded with a status of 404 (Not Found) http://www.reusetfils.fr/module/nivo/arrows.png
    2. Failed to load resource: the server responded with a status of 404 (Not Found) http://www.reusetfils.fr/module/nivo/bullets.png

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  10. #10
    Membre éprouvé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 56
    Par défaut Double merci
    Merci je vais voir pour corriger ça, c'est vrai que dès qu'on modifie un module pour jquery (nivoslider) il faut le connaitre sur le bout des doigts.

    Second merci pour le F12 sous chrome ça me sera très utile à l'avenir

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/06/2008, 17h38
  2. [JSP]Appel d'une fonction javascript
    Par scraly dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 12/07/2005, 11h50
  3. [C#] Appel d'une fonction JavaScript
    Par BiM dans le forum ASP.NET
    Réponses: 17
    Dernier message: 24/05/2005, 12h08
  4. Erreur a l'appel d'une fonction javascript
    Par linou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/03/2005, 11h16
  5. Réponses: 4
    Dernier message: 02/06/2004, 16h35

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