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 :

Syntaxe correcte pour un Push de données vers une fonction


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 36
    Par défaut Syntaxe correcte pour un Push de données vers une fonction
    Bonjour, (Et bonne année, c'est pas trop tard)

    J'ai une fonction associée à jQuery qui spécifie une liste de photos à afficher:
    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
     
    <script type="text/javascript">
    $( function() {
    	$.vegas( 'slideshow', {
    		delay: 8000,
    		backgrounds: [
    			{ src: 'bg_images/background_1.jpg', fade: 4000 },
    			{ src: 'bg_images/background_2.jpg', fade: 4000 },
    			...etc...
    			{ src: 'bg_images/background_45.jpg', fade: 4000 },
    			{ src: 'bg_images/background_46.jpg', fade: 4000 }
    		]
    	} )
    	('overlay', {
        src:'overlays/10.png'
      });
     
    	$( '.documentation' ).click( function() {
    		$( 'ul ul' ).slideToggle();
    		return false;
    	});
     
    	etc...
     
    	} );
    </script>
    Jusque là tout va bien, cela fonctionne très bien.
    Seulement, ce que je désire faire est de n'utiliser que quelques images de la liste complète et cela de façon aléatoire.

    Pour ça, j'ai écrit le code suivant:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <script type="text/javascript">
    <!-- DÉBUT FONCTION RANDOM -->
    var max_pics=46; <!-- TOTAL IMAGES -->
    var max_selected_pics=10; <!-- NOMBRE IMAGES A SELECTIONNER -->
     
    var randomNumber=0;
    var bg_pic_id=new Array(max_selected_pics);
    var bg_pic=new Array(max_selected_pics);
    var picture_found=false;
    var duplicate_found=false;
    var my_pics_list=[];
     
    for (var i=1;i<=max_selected_pics;i++){
    	picture_found=false;
    	while (picture_found==false){
     
    		randomNumber = Math.floor(Math.random() * max_pics) + 1;
    		if (i>1){
    			duplicate_found=false;
    			for (var u=1;u<i;u++){
    				 if (bg_pic_id[u]==randomNumber){
    					duplicate_found=true;
    					break;
    				 }
    			}
    			if (duplicate_found==false){
    				picture_found=true;
    			}
    		}
    		else{
    			picture_found=true;
    		}
    	  }
    	bg_pic_id[i]=randomNumber;
    	bg_pic[i]="bg_images/background_" + bg_pic_id[i] + ".jpg";
    	my_pics_list.push([bg_pic[i]]);
    }
    <!-- FIN FONCTION RANDOM -->
     
     
    $( function() {
     
    	$.vegas('slideshow',backgrounds:{my_pics_list,delay:8000,fade:4000}),('overlay', {src:'overlays/10.png'});
    	$( '.documentation' ).click( function() {
    		$( 'ul ul' ).slideToggle();
    		return false;
    	});
     
    	<!-- ...ETC... -->
    Pour la partie random il n'y a pas de problème, j'ai écrit ça en 10 minu!tes.
    Je n'arrive par contre pas à le faire fonctionner.
    Cela doit être la syntaxe du push qui pose problème. (Je suis assez paumé en la matière)

    Quelqu'un aurait-il la gentillesse de m'aiguiller sur la bonne voie ? (car maintenant ça fait des heures que ça me rend dingue)

    Un tout grand merci d'avance.

    Gino

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir,
    ce que je trouve bizarre c'est que d'un coté tu as une variable backgrounds qui est un Array d'objet et de l'autre un objet contenant un Array, mais qui plus est mal initialisé.

    Reprends la syntaxe.

  3. #3
    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 : 54
    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
    De toute façon, les commentaires HTML dans du JavaScript, ça provoque des erreurs ! Le script ne sera donc pas exécuté !
    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

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 36
    Par défaut
    Citation Envoyé par Bovino Voir le message
    De toute façon, les commentaires HTML dans du JavaScript, ça provoque des erreurs ! Le script ne sera donc pas exécuté !
    Je sais bien, j'ai mis cela ici pour un peu commenter le code que j'ai écrit, rien de plus.

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    C'est pas mal non plus de faire partager la solution....I wait

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 36
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    C'est pas mal non plus de faire partager la solution....I wait
    C'est exactement comme ça que je procède habituellement après avoir reçu de l'aide.
    Mais sans déconner, alors que je demande de l'aide pour revoir ma syntaxe quand je suis coincé on me réponds "revois ta syntaxe", merci pour l'aide !
    Et je ne parle pas de la réponse qui critique le fait d'avoir mis des commentaires dans le code de mon post comme si j'étais un débile complet.

    Enfin ! Donc, pour la solution, j'ai suivi tes conseils: j'ai revu la syntaxe !

    Plus sérieusement, j'ai commencé par réécrire le code js dans un fichier externe car cela me gonflait qu'il soit intégré au code html.
    J'ai ensuite créé un second code qui met en tableau les diverses photos qui est appelé depuis le html à l'aide de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="js/ini_data_pic.js"></script>
    et qui renvoie le tableau à l'aide de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write(send_data);
    Voilà, cela fonctionne nickel.
    Grand merci pour votre aide.

    Gino

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/07/2009, 22h20
  2. [Perl/Tk] problème pour faire passer des variables vers une fonction
    Par seben dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 09/03/2009, 15h17
  3. Réponses: 5
    Dernier message: 21/07/2006, 14h52
  4. Réponses: 2
    Dernier message: 09/05/2006, 15h52
  5. Réponses: 3
    Dernier message: 31/03/2006, 08h47

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