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

Bibliothèques & Frameworks Discussion :

Deux diaporamas avec Ajax.Request, Ajax.Updater et PeriodicalExecuter [Prototype]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut Deux diaporamas avec Ajax.Request, Ajax.Updater et PeriodicalExecuter
    Bonjour, j'ai vraiment un problème avec deux objets ajax. Bon je vous explique ce que je veux faire.
    La première chose que je veux faire, c'est modifier périodiquement un bloc div avec la réponse du serveur, pour cela, je crée l'objet Ajax.Request et quand la je reçoi la réponse je fais appel à une fonction qui faire disparaitre le bloc en question avec un effet de glissement de droite à gauche et après j'affiche la réponse. Jusqu'à maintenant tout fonctionne bien (même si j'ai passé une journée à me casser la tête pour la réaliser ).
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    var pos=0, pe, pe2, reponse='', start_slide=false, request_send=false, stop=false;;
    function toLeft()
    		{
    		if(start_slide==true)
    			{
    			if(pos>=-700)
    				{				
    				pos=pos-100;
    				$('ets_alaune').style.left=pos+'px';		
    				}
    			else
    				{
    				$('ets_alaune').innerHTML=reponse;
    				pos=0;
    				$('ets_alaune').style.left=pos+'px';						
    				start_slide=false;	
    				request_send=false;
    				}	
    			}
     
    		}
    function EntreprisesAlaUne() 
    	{
    	var myAjax, param;
    	//'application/models/Entreprises/index.php'
    		if(start_slide==false && request_send==false)
    			{
    		param='modele=Entreprises&tache=4';
    		myAjax = new Ajax.Request(
    					'ajax.php',
    						{	
    						method: 'post',
    						parameters: param,
    						onComplete: Complet,
    						onCreate: Creation
    						}
    					);
    		}
    	}
    function Creation(requete)
    	{
    	request_send=true;
    	//pe2.stop();
    	//alert('pe2 stopé');
    	}
    function Complet(requete)
    	{
    		reponse = requete.responseText;
    		start_slide=true;
    		//alert('lancement periodical');
    	}
    function StopSlideShow()
    	{
    	if(stop==false)
    		{
    		stop=true;
    		pe2.stop();	
    		$('play_pause_ets_alaune').src='themes/default/images/play2.png';
    		}
    	else
    		{
    	pe2 = new PeriodicalExecuter(EntreprisesAlaUne, 6);	
    	stop=false;
    	$('play_pause_ets_alaune').src='themes/default/images/pause2.png';
    		}
    	//start_slide=false;
    	}
    	//pe.currentlyExecuting==false
     
    	pe2 = new PeriodicalExecuter(EntreprisesAlaUne, 6);
    	pe = new PeriodicalExecuter(toLeft, 0.1);
    Mais maintenant je veux créer un autre div contenant trois autres div où dans chacune il y a une image. Lorsqu'on click sur une autre div là commence les problèmes, par ce que j'exécute une autre fonction SlideShowLogo qui instancie un objet Ajax.Updater et fait décaler le contenu des trois div à gauche.
    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
     
    var pelogo='', request_send_logo=false, start_slide_logo=false;
     
    function SlideShowLogo(direction) 
    	{
    	var myAjaxlogo, param;
    	if(direction=='left')
    		{
    		if(start_slide_logo==false && request_send_logo==false)
    			{
    		param='modele=Entreprises&tache=5';
    		myAjaxlogo = new Ajax.Updater(
    					'logo3',
    					'ajax.php',
    						{	
    						method: 'post',
    						parameters: param,
    						onComplete: Complet2,
    						onCreate: Creation2	
    						}
    					);
    			}
    		}
    	else
    		{
    		alert('not ok');
    		}		
    	}
    function Creation2()
    	{
    		$('logo1').innerHTML=$('logo2').innerHTML;
    		$('logo2').innerHTML=$('logo3').innerHTML;
    		$('logo3').innerHTML='<img src="themes/default/images/progressbar.gif"/>';
    		request_send_logo=true;
    		start_slide=true;	
    	}
    function Complet2()
    	{		
    		start_slide=false;
    		request_send_logo=false;		
    	}
    Et cette fonction aussi fonctionne bien, mais lorsqu'elle est déclenché la fonction toLeft() qui est en haut s'exécute une seule fois sans que je fais appel à elle ce qui me pourri mon travail. En plus elle doit ne s'exécuter qu'à partir de l'objet pe(PeriodicalExecuter) alors que moi je ne fais pas appel à cet objet dans la fonction SlideShowLogo.
    S'il vous plaît est ce qu'il y a quelqu'un qui peut me dire où est le problème par ce que là je bloc.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut C'est résolu
    Bonsoir, tout le monde.
    J'ai résolu mon problème. La fonction toLeft s'exécuté par ce qu'on fait dans une autre fonction j'ai fais une erreur. J'ai oublié de changer le nom d'une variable qui vraiment très importante, elle permet de lancer la dipo.
    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
    function Creation2()
    	{
    		$('logo1').innerHTML=$('logo2').innerHTML;
    		$('logo2').innerHTML=$('logo3').innerHTML;
    		$('logo3').innerHTML='<img src="themes/default/images/progressbar.gif"/>';
    		request_send_logo=true;
    //je mettais start_slide=true
    		start_slide_logo=true;	
    	}
    function Complet2()
    	{		
    //Ici aussi je mettais start_slide=false
    		start_slide_logo=false;
    		request_send_logo=false;		
    	}
    Copie et colle ton code et tu risque de faire des cauchemards.

    Je tiens d'abord à remercier tout ceux qui ont pris un peu de temps pour lire mon message, il est un peu long je l'avoue. Je crois que c'est pour ça que je n'ai eu aucune réponse.

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

Discussions similaires

  1. [Prototype] Ajax.Request et onSuccess : appel de fonction avec plusieurs arguments
    Par gregbond dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 18/10/2012, 18h00
  2. [AJAX] Ajax.Request : avec internet explorer
    Par equids dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2008, 11h37
  3. [Prototype] Problème avec le Ajax.request
    Par pwd75 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 09/06/2008, 17h05
  4. [AJAX] simple affichage avec Ajax.Request ne fonctionne pas
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2007, 10h35
  5. [Prototype] [DOM] ajax.updater() ou ajax.request()
    Par wincroc dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 13/06/2007, 12h26

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