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

ActionScript 3 Discussion :

Scroll TextField toujours en bas


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Par défaut Scroll TextField toujours en bas
    Bonjour,

    J'essai désespérément de garder la scrollBar d'un textField vers bas sur un petit chat.

    Voila mon 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
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    function Vrecharge(e:Event) {
     
    	var urLLoader:URLLoader = new URLLoader();
    	var urLRequest:URLRequest=new URLRequest("recharge.php");
    	var urLVariable:URLVariables = new URLVariables();
    	urLVariable.dest = dest ;
    	urLRequest.data = urLVariable ;
    	urLRequest.method=URLRequestMethod.POST;
    	urLLoader.load(urLRequest);
    	urLLoader.addEventListener(Event.COMPLETE, charge);
     
    	function charge(e:Event):void {
     
    		if ((e.target as URLLoader).data == "1") {
    			canal = conteneurSon.play();
    			recharge();
    		}
    	}
    }
     
    // Gestion du scroll
    function scrol() {
    	lescroll.scrollTarget=discussion;
    	discussion.scrollV = discussion.maxScrollV;
    }
     
    // XML rechargement
    function recharge(e:Event=null) {
     
    	var chargement:URLLoader = new URLLoader();
    	var fichier:URLRequest=new URLRequest("convers/"+IDs+".xml?nocache=" + new Date().getTime());
    	fichier.requestHeaders.push( new URLRequestHeader("pragma", "no-cache") );
    	chargement.addEventListener(Event.COMPLETE, chargementComplet);
    	chargement.load(fichier);
     
    	function chargementComplet(e:Event):void {
    		var messages:XML=new XML(e.target.data);
    		var NbMessage:XMLList=messages.elements();
    		discussion.text="";
    		var Nb:int = NbMessage.length() ;
    		var i:Number = 1 ;
    		for each (var DiscussionM:XML in NbMessage) {
    			discussion.htmlText+="<b>"+DiscussionM.@pseudo+" dit :</b>\n";
    			discussion.appendText(DiscussionM +"\n\n");
    		    discussionDate.text = "Date et heure du dernier message : "+DiscussionM.@date ;
    			if(i == Nb){ scrol(); i = 1 ; } else { i++ ; }
    		}
    	}
    }
     
    function envoi() {
    	if (mess.text!="") {
    		if (discussion.text!="") {
    			discussion.htmlText+="<b>"+pseudo+" dit :</b>\n";
    			discussion.appendText(mess.text+"\n\n");
    			var urlLoader:URLLoader = new URLLoader();
    			var urlRequest:URLRequest=new URLRequest("conver.php5");
    			var urlVariables:URLVariables = new URLVariables();
    			urlVariables.fichier = IDs ;
    			urlVariables.pseudo = pseudo ;
    			urlVariables.dest = dest ;
    			urlVariables.messages = mess.text ;
    			urlRequest.data = urlVariables ;
    			urlRequest.method=URLRequestMethod.POST;
    			urlLoader.load(urlRequest);
    		} else {
    			discussion.text=mess.text;
    		}
    		mess.text="";
    	}
    	scrol();
    }
     
    function envoiE(evt:KeyboardEvent):void {
    	if (evt.keyCode==Keyboard.ENTER) {
    		envoi();
    	}
    }
    function envoiC(e:Event):void {
    	envoi();
    }
     
    recharge();
     
    bt_envoi.addEventListener(MouseEvent.CLICK, envoiC);
    mess.addEventListener(KeyboardEvent.KEY_DOWN, envoiE);
    Sa fonctionne très bien avec la fonction envoi(); mais par contre rien avec recharge(); ...

    Quelqu'un aurait une idée d'ou vient l'erreur ?

  2. #2
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Salut, vu comme ça je ne vois pas non plus désolé

    apparemment c'est scrol() qui fait baisser ta barre et si recharge() ne le fait pas c'est tout simplement qu'il ne call pas scrol().
    alors tu peux essayer de trouver pourquoi scrol() n'est pas call, sinon essaye de rajouter un scrol() à la fin de recharge() pour être sur qu'il baisse la scrollbar à chaque fois.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Par défaut
    Merci pour ta réponse.

    Je viens d'essayer avec scrol(); à la fin de la function recharge malheureusement rien sa reste en haut.

    La fonction scrol() et pourtant bien lancé je viens de faire un trace pour vérifier.

    Je ne comprend pas du tout la

  4. #4
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Hmm, essaye aussi de la mettre à la fin de chargementComplet dans recharge pour vérifier

    cette partie me trouble personnellement je cerne pas l'utilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(i == Nb){ scrol(); i = 1 ; } else { i++ ; }
    quel est l'objectif ?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Par défaut
    toujours le même résultat

  6. #6
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Ah dommage, ça aurait été plus simple comme ça lol

    Je ne sais pas trop alors désolé..

    J'aurai peut être une idée farfelue, ça viendrait peut être alors de la fonction scrol, même si ça fonctionne avec envoi(), on peux imaginer que pour recharge() le maxScrollV est égal à rien.
    essaye de faire un trace sur le discussion.maxScrollV pour voir si il est vide à la première utilisation.
    Si c'est le cas, peut être que set lescroll.scrollTarget=discussion en dehors de la fonction scrol() et avant le recharge() pourrait résoudre le souci.
    Toute façon je pense pas que tu es besoin de re-set le scrollTarget à chaque fois.

Discussions similaires

  1. Redirection System.out + JScrollPane toujours en bas
    Par g0ldenrno dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 03/07/2006, 16h35
  2. [JTextArea][JScrollPane] ascenceur toujours en bas ?
    Par _KB_ dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/04/2006, 22h52
  3. scrollbar toujours en bas
    Par dams78 dans le forum GTK+ avec C & C++
    Réponses: 9
    Dernier message: 02/02/2006, 11h14
  4. Footer devra être toujours en bas...
    Par SangKou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 20/12/2005, 05h11
  5. Positionner le scroll d'un div toujours en bas.
    Par barok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 12h17

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