Newsgroup: it.comp.lang.javascript
Titolo: sintassi...

Salve a tutti. Sto sviluppando un sito usando XHTML+CSS. Purtroppo non
sono molto ferrato con la sintassi dei Javascript :-((
Per precaricare una img uso questo script, linkato su un js esterno:
function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length;
i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
che richiamo tramite:
preloadImages('posizione_del_mio_file_immagine');
In che modo devo modificare lo script presente sul js esterno per far
si che definita una variabile tipo
var titolostampa = 'posizione_del_mio_file_immagine';
poi si carichi da solo senza bisogno di andarlo a richiamare?
grazie per la vostra pazienza...
iauz
deadhead
_____________><(((°>_.:!:._<°)))><_____________
Non bisogna giudicare gli uomini dalle loro amicizie: Giuda frequentava persone irreprensibili! (E. Hemingway)
Se vuoi scrivermi, togli "okkupato"

 poi si carichi da solo senza bisogno di andarlo a richiamare?
Sara' che sono un po' rinco stamattina, per svariati motivi, ma sai che 
non ho capito cos'e' che vuoi ottenere?
Se cerchi di spiegarmi meglio, magari posso esserti d'aiuto.
P.S.
il tuo nick ha origini Marvelliane?
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

No problem, l'ho scritto molto in fretta...
adesso nella pagina c'è
<script language="JavaScript" type="text/javascript"
src="script.js"></script>
<!-- script.js è il file linkato, all'interno del quale c'è lo script
preloadImages, vedi primo post -->
<script language="JavaScript"
type="text/javascript">preloadImages('file_immagine.gif');</script>
<!-- questa è invece la chiamata allo script, con il riferimento al
file da precaricare -->
ciò che mi piacerebbe realizzare è
<script language="JavaScript" type="text/javascript">
var caricaimmagine = 'file_immagine.gif';
</script>
<script language="JavaScript" type="text/javascript"
src="script.js"></script>
ossia passata la variabile "caricaimmagine" lo script preloadImage fa
da solo il suo dovere senza dover esser chiamato con
preloadImages('file_immagine.gif');
grazie x aver richiesto + info: spero di riuscire ad ottenere la
soluzione!


 preloadImages('file_immagine.gif');
okay.. adesso ho capito cosa vorresti ottenere, ma non ne capisco il 
motivo. Ovvero.. che ti cambia a fare:
<script type="text/javascript">
	var immaginedacaricare="mia_immagine.gif";
</script>
<script src="script.js" type="text/javascript"></script>
piuttosto che:
<script src="script.js" type="text/javascript"></script>
<script type="text/javascript">
	preloadImages("mia_immagine.gif");
</script>
..? Anzi, nel primo caso utilizzi una variabile in piu'.
Vorrei capire esattamente qual'e' lo scopo di tutto questo.
Cmq se proprio vuoi puoi sempre gestire un array dal nome fisso, che la 
funzione richiama in modo implicito. Cioe':
var _preloadedIMG=["mypic.gif","anotherpic.jpg"];
e poi la funzione, nello script js:
function preloadImages(){
	var szDummy="";
	for (var i=0;i<_preloadedIMG.length;i++){
		szDummy=_preloadedIMG[i];		
		_preloadedIMG[i]=new Image();
		_preloadedIMG[i].src=szDummy;
	}
}
preloadImages();
in tal modo avrai qualcosa del tipo:
<script type="text/javascript">
	var _preloadedIMG=["mypic.gif","anotherpic.jpg"];
</script>
<script type="text/javascript" src="script.js"></script>
In quanto la tua funzione fara' sempre riferimento all'array chiamato 
_preloadedIMG, e viene chiamata in automatico all'inclusione del file 
script.js
Volendo si potrebbe anche evitare di racchiudere quel codice in una 
funzione, in quanto se viene impostato in tal modo e' perche' viene 
chiamato un'unica volta.


ti spiego: mi piace di + dover definire una variabile anzichè fare una
chiamate del tipo  preloadimags()  perchè in ogni pagina definisco già
4 variabili per un altro script, indi aggiungerne una in + all'elenco
non mi era di alcun problema ed anzi mi semplificava la lettura del
codice XHTML.
esempio di pagina com'è ora:
<script language="JavaScript" type="text/javascript">
		var thisframe = 'text';
		var nframeset = 'index.ita.html';
		var npagina = 'titolo.azienda.html';
		var nframe = 'titolo';
	</script>
	<script language="JavaScript" type="text/javascript"
src="script.js"></script>
	<script language="JavaScript"
type="text/javascript">preloadImages('smile.png');</script>
come vorrei farla diventare:
<script language="JavaScript" type="text/javascript">
		var thisframe = 'text';
		var nframeset = 'index.ita.html';
		var npagina = 'titoli/titolo.azienda.html';
		var nframe = 'titolo';
		var titleimg = 'smile.png';
	</script>
	<script language="JavaScript" type="text/javascript"
src="script/ben.js"></script>
capisci? una volta che sn sicuro che tutti gli script vanno, mi creo
il mio bel modello di pagina XHTML e a creare una nuova pagina ci
metto 5 min: inserisco le info necessarie negli spazi a fianco delle
variabili, per quanto riguarda l'aspetto dinamico delle pagine
[gestito da javascript] e mi concentro sul contenuto.
Forse sn una mente perversa, ma mi scocciava molto venire a fare il
bambino lamentoso e viziato a cui tutto è dovuto, [cosa che purtroppo
ora sto facendo] qui dove cmq ho sempre ricevuto ottimi consigli,
gentilezza e aiuto e mai purtr [non essendo il mio campo d'interesse
la programmazione in javascript] ho potuto ricambiare.
Per farla breve [forse era la cosa che avrei dovuto chiedere subito]
avrei bisogno di uno script che mi precarichi una determinata img.
L'indirizzo dell'immagine deve essere definito precedentemente in una
variabile, chiamata ad es ^titleimg^.
di per se lo script che uso ora, trovato in Dreamweaver:
function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length;
i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
funziona, solo che devo andare io a richiamare tale function con
preloadImages('smile.png');
Ciò che preferirei è che lo script precaricasse l'immagine definita
nella variabile ^titleimg^, che difatti verrebbe dichiarata prima del
caricamento di script.js che è il file esterno contenente tra gli
altri, questo script di precaricamento dell'immagine.
Se vuoi saperne d+ sul motivo di tutte altre variabili guardati questo
mio mex di qlc tempo fa 
1jal2vc45u8dot7n9...@4ax.com
spero di esser stato chiaro...
forse sn pignolerie, ma se mi potessi dare una mano te ne sarei
davvero molto grato!
P.S.
Il mio nick nn ha origini Marvelliane... Vuoi dire che c'era o 'è un
personaggio dei fumetti Marvell che si chiamava deadhead? Sarebbe
'mitico' [pronuncialo alla homer] =))


Vabbè, alla fine ci ho pensato da solo un po' su è mi sono arrangiato
così
nel file XHTML ho inserito la mia amata variabile alla fine
dell'elenco di variabili che già dovevo definire x altri script...
<script language="JavaScript" type="text/javascript">
		var thisframe = 'text';
		var nframeset = 'index.ita.html';
		var npagina = 'titoli/titolo.azienda.html';
		var nframe = 'titolo';
	------->>	var img_title =
'img/titoli/stampa/azienda.stampa.png'; <<------
	</script>
<script language="JavaScript" type="text/javascript"
src="script.js"></script>
E nello script esterno script.js ho aggiunto alla fine dello script
"preloadImages" la chiamato allo script stesso, passandogli come
valore la variabile  "img_title"
function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length;
i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
preloadImages(img_title);
^^^^^^^^^^^^^^^^^^^
Magari nn sarà il massimo dell'eleganza, xò funzia...


 'mitico' [pronuncialo alla homer] =))
Eh.. ho cannato :) La stanchezza, sai com'e'.. Il personaggio si 
chiamava Death's Head, era della Marvel divisione UK (che poi e' stata 
chiusa).. L'originale Death's Head non mi ha mai detto un gran che', ma 
mi e' piaciuto molto Death's Head II :)
http://uk.geocities.com/centrallycollected/marvel/deathsheadii_mini_
1a.jpg


 informazioni, altrimenti perdi il vantaggio di separare il codice).
Correzione: Non e' "informazioni", ovviamente, era "funzioni".
Sorry.. non e' periodo..


Ti ringrazio davvero tanto per tutto l'aiuto che mi hai dato...
Direi che un ringraziamento nel codice del js nn te lo toglie nessuno!
 :-P
