Buon pomeriggio a tutti;
Ho due script identici opportunamente modificati nei nomi di funzioni, var ed incognite, i quali prevedono una sezione di visualizzazione temporale di banner a rotazione 200x600, una sezione di visualizzazione temporale di teso in link, una visualizzazione temporale di 5 banner in 5 div univoci a loro volta contenuti in un unico div che non è dichiarato nello script ma formattato con css esterno alla pagina ed allo script. (anche il div banner 200x600 e contenuto in un'altro con le identiche caratteristice del contenitore dei div dei 5 banner di dimensioni più piccole.
Per non appesantire il codice html e quindi il download della pagina ho creato dei file Js esterni che vengono richiamati dal -script language="javascript" scr="none.js" tipe=ecc,ecc,- .
Se si applica un solo .js e il relativo .js che richiama la iquery tutto funziona perfettamente.
Il problema nasce nel momento in cui si richiama un secondo .js che dovrebbe far girare altri banner nella stessa pagina o richiamando un secondo .js che dovrebbe far visualizzare dei link a rotazione temporale.
Cosa succede?
Se richiamo 2 .js che dovrebbero svolgere ognuno una propria funzione di visualizzazione completamente differente sia nei tempi che nei contenuti, succede che se visualizzi uno l'altro scompare, se visualizzi l'altro l'uno scompare, pur riconoscendo che gli script sono contemporaneamente in esecuzione.
In sintesi se ne visualizza uno è gli altri non si vedono e non danno nemmeno errore per il debug.
Nei 2 .js vi è lo stesso codice ovviamente con le opportune e piccolissime modifiche apportate perchè si differenzino tra loro e spero non creino conlitti.
Ma insieme proprio non vanno. (sono 5 notti che tento e ritento ma niente)
Domanda:
Oltre a quello che ho gia fatto; cosa devo fare per far si che ogni .js faccia la sua fuzione senza che influenzi l'atro che usa la stessa IQuery?
Tra un Js e l'altro ho reso differenti le var aggiungendo un numero alla nome dichiarato.
2 js gestiscono contenuti per un solo div a testa con id differente
1 js gestisce contenuti per 5 div univoci
Ho anche provato a modificare la IQuery ($) assegnandogli il nome dei div e la var (i) dichiarando il nome univoco del div, ho anche assegnato un'incognita (x) differente in ogni .js ed altre prove ancora ed ancora... ma niente, il risultato non cambia.
Qual'è la soluzione? Se ne esiste una!!
Posto a il codice html con 2 .js nei tag head al fine di consentire eventuali test.
****************
CODICE HTML + JS
****************
************************
Grazie a chiunque mi risponda ma sopratutto un gigantesco grazie a chi mi rifila la dritta giusta.
Ho due script identici opportunamente modificati nei nomi di funzioni, var ed incognite, i quali prevedono una sezione di visualizzazione temporale di banner a rotazione 200x600, una sezione di visualizzazione temporale di teso in link, una visualizzazione temporale di 5 banner in 5 div univoci a loro volta contenuti in un unico div che non è dichiarato nello script ma formattato con css esterno alla pagina ed allo script. (anche il div banner 200x600 e contenuto in un'altro con le identiche caratteristice del contenitore dei div dei 5 banner di dimensioni più piccole.
Per non appesantire il codice html e quindi il download della pagina ho creato dei file Js esterni che vengono richiamati dal -script language="javascript" scr="none.js" tipe=ecc,ecc,- .
Se si applica un solo .js e il relativo .js che richiama la iquery tutto funziona perfettamente.
Il problema nasce nel momento in cui si richiama un secondo .js che dovrebbe far girare altri banner nella stessa pagina o richiamando un secondo .js che dovrebbe far visualizzare dei link a rotazione temporale.
Cosa succede?
Se richiamo 2 .js che dovrebbero svolgere ognuno una propria funzione di visualizzazione completamente differente sia nei tempi che nei contenuti, succede che se visualizzi uno l'altro scompare, se visualizzi l'altro l'uno scompare, pur riconoscendo che gli script sono contemporaneamente in esecuzione.
In sintesi se ne visualizza uno è gli altri non si vedono e non danno nemmeno errore per il debug.
Nei 2 .js vi è lo stesso codice ovviamente con le opportune e piccolissime modifiche apportate perchè si differenzino tra loro e spero non creino conlitti.
Ma insieme proprio non vanno. (sono 5 notti che tento e ritento ma niente)
Domanda:
Oltre a quello che ho gia fatto; cosa devo fare per far si che ogni .js faccia la sua fuzione senza che influenzi l'atro che usa la stessa IQuery?
Tra un Js e l'altro ho reso differenti le var aggiungendo un numero alla nome dichiarato.
2 js gestiscono contenuti per un solo div a testa con id differente
1 js gestisce contenuti per 5 div univoci
Ho anche provato a modificare la IQuery ($) assegnandogli il nome dei div e la var (i) dichiarando il nome univoco del div, ho anche assegnato un'incognita (x) differente in ogni .js ed altre prove ancora ed ancora... ma niente, il risultato non cambia.
Qual'è la soluzione? Se ne esiste una!!
Posto a il codice html con 2 .js nei tag head al fine di consentire eventuali test.
****************
CODICE HTML + JS
****************
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>test 1</title>
<!-- IQuery -->
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<!-- QUESTO SCRIPT ATTIVA I LINKS -->
<!-- Rendi commento lo script dei links per disattivarlo e testare l'altro dei banner -->
<script language="javascript" type="text/javascript">
var imm = new Array();
imm[0] = "La gallina";
imm[1] = "Il pollo";
imm[2] = "Il gallo";
var lnk = new Array();
lnk[0] = "http://www.google.it/";
lnk[1] = "http://www.google.it/";
lnk[2] = "http://www.google.it/";
var div = new Array();
div[0] = "mostra";
var x=0;
window.onload=function(){
preloadlinks();
mostra_links();
}
function mostra_links(){
for (var mostra=0; mostra<div.length; mostra++){
$('#'+div[mostra]).fadeOut(250, function(){
$(this).html("<a href='" + lnk[x] + "' target='_blank'>" + imm[x] + "</a>");
$(this).fadeIn(500);
if(imm.length - 1 == x ){
x = 0;
}else{
x++;
}
});
}
setTimeout('mostra_links()',1000);
}
function preloadlinks() {
var imageObj = new Image();
for(var x=0; x<imm.length; x++) {
imageObj.src=imm[x];
}
}
</script>
<!-- QUESTO SCRIPT ATTIVA IL BANNER -->
<!-- Rendi commento lo script banner per disattivarlo e testare l'altro dei links -->
<!-- script reso commento
<script language="javascript" type="text/javascript">
var imm2 = new Array();
imm2[0] = "immagine1.gif";
imm2[1] = "immagine2.jpg";
var lnk2 = new Array();
lnk2[0] = "http://www.google.it/";
lnk2[1] = "http://www.google.it/";
var div = new Array();
div[0] = "mostra2";
var s=0;
window.onload2=function(){
preloadbanner();
mostra_banner();
}
function mostra_banner(){
for (var mostra2=0; mostra2<div.length; mostra2++){
$('#'+div[mostra2]).fadeOut(250, function(){
$(this).html("<a href='" + lnk2[s] + "' target='_blank'><img border='0' src='" + imm2[s] + "'></a>");
$(this).fadeIn(500);
if(imm2.length - 1 == s ){
s = 0;
}else{
s++;
}
});
}
setTimeout('mostra_banner()',5000);
}
function preload() {
var imageObj = new Image();
for(var s=0; s<imm2.length; s++) {
imageObj.src=imm2[s];
}
}
</script>
-->
<!--
window.onload=function(){
preloadlinks();
mostra_links();
preload();
mostra_banner();
}
-->
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="25" valign="middle" bgcolor="#FFCCFF">
<tr>
<td width="100%">
<!-- Contenitore dei links (id="mostra") a sua volta contenuto in una tabella-->
<div id="mostra" style="margin-left: 10; margin-right: 10"></div>
</td>
</tr>
</table>
<BR/>
<!-- Contenitore dei banner (id="mostra2") libero nel corpo-->
<div id="mostra2" style="margin-left: 10; margin-right: 10"></div>
</body>
</html>
Grazie a chiunque mi risponda ma sopratutto un gigantesco grazie a chi mi rifila la dritta giusta.
Ultima modifica di un moderatore: