Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    problema con css esterni

    Ciao a tutti,
    sto realizzando un sito nel quale mi trovo di fronte a questo problema:
    io prelevo un testo esternamente tramite xml e lo inserisco all'interno di un campo di testo dinamico all'interno di una clip. A questo campo di testo vorrei associare un foglio di stile nel quale ho settato diverse class. Il mio problema è che ho lo script che carica il css sul primo frame della timeline principale, mentre la mia clip viene richiamata in un frame successivo (per problemi di animazioni varie), risultato non riesco a far associare il css al mio campo di testo.
    Ho provato ad inserire lo script di caricamento del css direttamente sul movieclip tramite la funzione onClipEvent(load), ma anche in questo caso non funzia.
    Come posso fare????

    Gli script che ho usato sono quelli che ha passato la macromedia nei suoi tutorial:

    nel frame 1 della timeline principale ho:

    codice:
    //load text
    function loadMyText(evt) {
    	var loadit_lv:LoadVars = new LoadVars();
    	loadit_lv.load("testo.txt");
    	loadit_lv.onLoad = function(success:Boolean) {
    		if (success) {
    			mio_testo = this.content;
    			trace("Load Text: "+mio_testo);
    		} else {
    			trace("Could not load text file.");
    		}
    	};
    }
    loadMyText();
    poi su un movieclip che parte dopo 10 frame ho quest'altro script:

    codice:
    onClipEvent(load){
    
    	//Handle the UIScrollBar - instance in library
    	this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);
    	
    	// Set the target text field for the scroll bar.
    	my_sb.setScrollTarget(this.my_txt);
    	
    	// Size it to match the text field.
    	my_sb.setSize(16, this.my_txt._height); 
    	
    	// Move it next to the text field.
    	my_sb.move(this.my_txt._x + this.my_txt._width, this.my_txt._y);
    	
    	this.my_txt.htmlText = _root.mio_testo;
    	
    	//apply stylesheet
    	var flash_css = new TextField.StyleSheet();
    	flash_css.load("styles.css");
    	flash_css.onLoad = function(success:Boolean) {
    		if (success) {
    			this.my_txt.styleSheet = flash_css;
    			trace("Load CSS");
    		} else {
    			trace("Could not load CSS file.");
    		}
    	};
    }
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    estraggo dal secondo codice questa riga

    this.my_txt.styleSheet = flash_css;

    è un errore, perchè in quella determinata zona dello script this è riferito all'istanza di StyleSheet "flash_css"
    prova ad utilizzare un percorso assoluto per il campo di testo (se ad esempio il campo si trova su _root, fai _root.my_txt.styleSheet = flash_css;

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    oppure prova così che dovrebbe essere più sicuro (dovrebbe )

    codice:
    onClipEvent(load){
    
    	//Handle the UIScrollBar - instance in library
    	this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);
    	
    	// Set the target text field for the scroll bar.
    	my_sb.setScrollTarget(this.my_txt);
    	
    	// Size it to match the text field.
    	my_sb.setSize(16, this.my_txt._height); 
    	
    	// Move it next to the text field.
    	my_sb.move(this.my_txt._x + this.my_txt._width, this.my_txt._y);
    	
    	this.my_txt.htmlText = _root.mio_testo;
    	var path = this;
    	
    	//apply stylesheet
    	var flash_css = new TextField.StyleSheet();
    	flash_css.load("styles.css");
    	flash_css.onLoad = function(success:Boolean) {
    		if (success) {
    			path.my_txt.styleSheet = flash_css;
    			trace("Load CSS");
    		} else {
    			trace("Could not load CSS file.");
    		}
    	};
    }

  4. #4
    Non ho ben capito quello che mi dicevi nel tuo primo post... cmq ho provato in entrambi i modi ma non cambia nulla.

    Il testo viene caricato senza problemi, ma lo style non lo applica.
    Sigh

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova così

    codice:
    onClipEvent(load){
    
    	//Handle the UIScrollBar - instance in library
    	this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);
    	
    	// Set the target text field for the scroll bar.
    	my_sb.setScrollTarget(this.my_txt);
    	
    	// Size it to match the text field.
    	my_sb.setSize(16, this.my_txt._height); 
    	
    	// Move it next to the text field.
    	my_sb.move(this.my_txt._x + this.my_txt._width, this.my_txt._y);
    	
    	var path = this;
    	
    	//apply stylesheet
    	var flash_css = new TextField.StyleSheet();
    	flash_css.load("styles.css");
    	flash_css.onLoad = function(success:Boolean) {
    		if (success) {
    			path.my_txt.styleSheet = flash_css;
    			path.my_txt.htmlText = _root.mio_testo;
    			trace("Load CSS");
    		} else {
    			trace("Could not load CSS file.");
    		}
    	};
    }
    ps. i trace te li fa correttamente?

  6. #6
    ahhhhhhhhhhhhh ... funziona!!!!
    Grande!!!!

    Spiegami cos'hai fatto please!

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho solo spostato il momento di assegnazione del testo,
    così prima applichi il CSS e poi assegni il testo

  8. #8
    Quindi in ogni caso lo style va applicato al box di testo dinamico prima di passargli la variabile con il testo?

  9. #9
    Scusa... un consiglio:

    Se io dovessi far modificare il contenuto di quel box di testo dinamico, tramite l'uso di un bottone (caricato con attachMovie ecc...), come potrei gestire il caricamento dello style?

    Dovrei lanciare il caricamente del css all'interno della funzione onRelease (applicata al bottone) o in fase iniziale al frame 1 della timeline?

    Spero si capisca quello che ho detto ...

    Cmq sia grazie mille per l'aiuto che mi hai dato fin qui!

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da vale_pkappa
    Quindi in ogni caso lo style va applicato al box di testo dinamico prima di passargli la variabile con il testo?
    in realtà su questo sono un tantino dubbioso... mi pareva di ricordare che lo stile si potesse applicare anche dopo aver assegnato il testo... però ho voluto fare ugualmente la prova e così è andato, mah misteri di flash, a volte va altre no

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.