Ho una pagina con un menu orizzontale a cascata in JS che funziona perfettamente.
Ma quando richiamo un'ulteriore js nl body onload il menù non funziona più!!!:master:
C'è un modo per risolvere?
Grazie
Ho una pagina con un menu orizzontale a cascata in JS che funziona perfettamente.
Ma quando richiamo un'ulteriore js nl body onload il menù non funziona più!!!:master:
C'è un modo per risolvere?
Grazie
cosa accaderebbe domani?
Ciao hako,
ci sarà un conflitto nell'assegnazione del window.onload
devi "fondere" i due window.onload=....
(se non sai come posta un link per vedere il codice)
![]()
Ciao willybit, questo il codice funzionante della pagina fino al tag body:
<html>
<head>
<title></title>
<SCRIPT LANGUAGE="JavaScript">
<!--
NS4=(document.layers) ? true : false;
IE4=(document.all)?true:false;
ver4 = (NS4 || IE4) ? true : false;
function popUp(){return};
function popDown(){return};
areCreated=false;
if (!ver4) event=null;
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (ver4) {
menuWidth = 140;
childOverlap = 3;
childOffset = 5;
perCentOver = null;
secondsVisible = 0.5;
fntCol = "#999999";
overFnt = "white";
fntSiz = "11px";
fntWgh = "normal";
fntSty = "normal";
fntFam = "arial,helvetica,verdana";
backCol = "#000000";
overCol = "#000000";
linHgt = "normal";
borWid = 1;
borCol = "#ff9933"
borSty = "outset";
imgSrc = "images/freccina.gif";
imgSiz = 15;
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (ver4) {
document.write("<SCRIPT LANGUAGE='JavaScript' SRC='plugin/arrays.js'><\/SCRIPT>");
document.write("<SCRIPT LANGUAGE='JavaScript' SRC='plugin/menu.js'><\/SCRIPT>");
}
-->
</script>
</head>
<body link="#999999" vlink="#999999" alink="#999999" bgcolor="#666666">
Poi inserisco questo script nell'head (il menù continua a funzionare):
<script language="javascript">
function ale(){
var dato=location.search.substr(1);
document.f1.parola.value=dato;
}
</script>
Quando invece modifico il tag body per richiamare lo script il menù smette di funzionare:
<body onLoad="ale()" link="#999999" vlink="#999999" alink="#999999" bgcolor="#666666">
è chiaro ciò che ho scritto?
cosa accaderebbe domani?
è chiaro ciò che hai scritto
invece di mettere la funzione ale() nell'onload del body prova a fare così
famme sape'codice:if(window.onload){ strOnload = window.onload strOnload = strOnload.toString() strOnload = strOnload.substr(strOnload.indexOf('{')+1,strOnload.lastIndexOf('}')-strOnload.indexOf('{')-1) }else strOnload='' window.onload=new Function(strOnload+'ale();')
![]()
Funziona!!!![]()
![]()
![]()
mi spieghi in parole semplici (non voglio rubarti altro tempo e non capisco molto di js) perchè nasceva quel conflitto e come lo hai risolto?
Grazie 1000!
![]()
cosa accaderebbe domani?
in questi js esterni
sicuramente ci sarà almeno un window.onload=qualcosacodice:<SCRIPT LANGUAGE="JavaScript"> <!-- if (ver4) { document.write("<SCRIPT LANGUAGE='JavaScript' SRC='plugin/arrays.js'><\/SCRIPT>"); document.write("<SCRIPT LANGUAGE='JavaScript' SRC='plugin/menu.js'><\/SCRIPT>"); } --> </script>
se poi tu metti qualcos'altro nell'onload del tag body è come se cancellassi l'assegnazione dei js...
ti commento il mio script
codice:if(window.onload){ //se esiste qualcosa nell'onload strOnload = window.onload strOnload = strOnload.toString()//ti restituisce "{ qualcosa;qualcosa;.....}" strOnload = strOnload.substr(strOnload.indexOf('{')+1,strOnload.lastIndexOf('}')-strOnload.indexOf('{')-1)//togli le graffe all'inizio e alla fine }else strOnload='' window.onload=new Function(strOnload+'ale();')//assegna all'onload l'onload precedente più la funzione ale()![]()
Chiarissimo!
grazie di nuovo, questi js mi stanno appassionando penso proprio che inizierò a studiarli
:quipy:
cosa accaderebbe domani?