Ciao a tutti,
sono alle prime armi (o quasi) con javascript...ovvero ho creato il mio primo script interamente da solo (...almeno un "che bravo mi pare doveroso a questo punto).
Il problema è che funziona con internet explorer mentre con mozilla no...![]()
![]()
non so esattamente da cosa sia derivato il problema ma probabilmente è dovuto al fatto che mozilla non gestisce il ridimensionamento dei tag div...ovvero non posso impostare l'altezza dell'elemento.
Il codice incriminato è questo (ho sottolineato in rosso le parti dove (credo) ci sia un errore:
e potete vederlo operativo in http://www.wedding-in-venice.com/temp/indexframe.htm ...ovviamente funzionante solo in internet explorer.codice:<script language="JavaScript"> function lib_bwcheck(){ this.ver=navigator.appVersion this.agent=navigator.userAgent this.dom=document.getElementById?1:0 this.opera5=this.agent.indexOf("Opera 5")>-1 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; this.ie4=(document.all && !this.dom && !this.opera5)?1:0; this.ie=this.ie4||this.ie5||this.ie6 this.mac=this.agent.indexOf("Mac")>-1 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5) return this } var bw=new lib_bwcheck() var oMenu // Speed var speed = 10; // Number of menus var nummenu = 2; function ToggleMenu(num) { if (oMenu[num].height == 0 || oMenu[num].action == "SlideUp") { oMenu[num].action = "SlideDown"; oMenu[num].slideDown(); oMenu[num].img.src = "arrowdown.gif"; } else { if (oMenu[num].height == oMenu[num].maxheight || oMenu[num].action == "SlideDown") { oMenu[num].action = "SlideUp"; oMenu[num].slideUp(); oMenu[num].img.src = "arrowup.gif"; } } } function b_slideDown() { if (this.action == "SlideDown") { if (this.height < this.maxheight) { this.height = this.height + 1; this.css.height = this.height; if (this.parents!=null) { for (a=0; a<this.parents.length;a++) { this.parents[a].height = this.parents[a].height + 1; this.parents[a].maxheight = this.parents[a].maxheight + 1; this.parents[a].css.height = this.parents[a].height; } } setTimeout(this.obj+'.slideDown()', speed); } else { eval(this.css.height = this.maxheight); this.action = "none"; } } } function b_slideUp() { if (this.action == "SlideUp") { if (this.height > 0) { this.height = this.height - 1; this.css.height = this.height; if (this.parents!=null) { for (a=0; a<this.parents.length;a++) { this.parents[a].height = this.parents[a].height - 1; this.parents[a].maxheight = this.parents[a].maxheight - 1; this.parents[a].css.height = this.parents[a].height; } } setTimeout(this.obj+'.slideUp()', speed); } else { eval(this.css.height = 0); this.action = "none"; } } } function makeMenu(obj, nest, imm, parents) { nest=(!nest) ? "":'document.'+nest+'.' this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; this.img=bw.dom?document.getElementById(imm):bw.ie4?document.all[imm]:bw.ns4?eval(nest+'document.'+imm):0; this.action = "none"; this.height=0; this.maxheight=bw.ns4?this.css.document.height:this.el.offsetHeight; this.slideUp=b_slideUp; this.slideDown=b_slideDown; this.obj = obj + "Object"; this.parents = parents; eval(this.obj + "=this") eval(this.css.height = 0); } function initmenu() { var parents; oMenu = new Array(); oMenu[0] = new makeMenu('menu1', '', 'menuimg1', parents); parents = new Array(); parents[0] = oMenu[0]; oMenu[1] = new makeMenu('menu1a1', '', 'menuimg1a1', parents); } </script>
Dove sbaglio?
Grazie.
Ciao


).
Rispondi quotando