Gå til innhold

Hvorfor vises ikke Javascript-meny i Netscape/Mozilla?


Anbefalte innlegg

Dette er en slidemeny som virker fra iexplorer og opera, men ikke fra mozilla og netscape. Kan noen som er guru på javascript fortelle meg hvorfor?

 

Legger ved hele sriptet:

 

function lib_bwcheck(){ //Browsercheck (needed)

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()

 

function makeMenuObj(obj,nest){

nest=(!nest) ? "":'document.'+nest+'.'

this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;

this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;

this.ref=bw.dom || bw.ie4? document:bw.ns4?eval(nest+"document.layers." +obj+".document"):0;

this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.offsetLeft;

this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.offsetTop;

this.hideIt=b_hideIt; this.showIt=b_showIt; this.movey=b_movey

this.moveIt=b_moveIt; this.moveBy=b_moveBy; this.status=0;

this.bgImg=b_bgImg; this.obj = obj + "Object"; eval(this.obj + "=this");

this.clipTo=b_clipTo;

return this

}

function b_showIt(){this.css.visibility="visible"; this.status=1}

function b_hideIt(){this.css.visibility="hidden"; this.status=0}

function b_movey(y){this.y=y; this.css.top=this.y}

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}

function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x;this.css.top=this.y}

function b_bgImg(img){if(bw.ie||bw.dom)this.css.backgroundImage="url('"+img+"')"

else this.css.background.src=img

}

function b_clipTo(t,r,b,l,w){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r

this.css.clip.bottom=b;this.css.clip.left=l

}else{this.css.clip="rect("+t+","+r+","+b+","+l+")"; if(w){this.css.width=r; this.css.height=b}}}

 

function SlideMenuInit(){

oSlideMenu=new makeMenuObj('divSlideCont')

oSlideMenu.moveIt(menux,menuy)

oSlide=new Array()

for(i=0;i<menus.length;i++){

oSlide=new makeMenuObj('divSlide'+i,'divSlideCont')

oSlide.subs=menus.subs

oSlide.sub=new Array()

oSlide.moveIt(0,mainheight*i)

oSlide.starty=oSlide.y

if(bw.opera) oSlide.css.paddingLeft="10px"

if(!menus.seperator) oSlide.bgImg(level0_regular)

for(j=0;j<oSlide.subs;j++){

oSlide.sub[j]=new makeMenuObj('divSlideSub'+i+"_"+j,'divSlideCont')

oSlide.sub[j].moveIt(10,oSlide.y+subheight*j+between)

oSlide.sub[j].starty=oSlide.sub[j].y

oSlide[j]=new Array()

oSlide[j].subs=menus[j].subs

oSlide[j].sub=new Array()

img=level1_round

if(oSlide[j].subs!=0){

if(j!=oSlide.subs-1) img=level1_sub

else img=level1_sub_round

oSlide.sub[j].css.color="white"

}else{

if(j!=oSlide.subs-1)img=level1_regular

}

oSlide.sub[j].origimg=img

oSlide.sub[j].bgImg(img)

for(a=0;a<oSlide[j].subs;a++){

oSlide[j].sub[a]=new makeMenuObj('divSlideSub'+i+"_"+j+"_"+a,'divSlideCont')

oSlide[j].sub[a].moveIt(20,oSlide.sub[j].y+subheight*a+between-2)

oSlide[j].sub[a].starty=oSlide[j].sub[a].y

oSlide[j][a]=new Array()

oSlide[j][a].subs=menus[j][a].subs

oSlide[j][a].sub=new Array()

if(a!=oSlide[j].subs-1) img=level2_regular

else img=level2_round

oSlide[j].sub[a].origimg=img

oSlide[j].sub[a].bgImg(img)

}

}

}

oSlideMenu.showIt()

}

 

var active=-1;var going;var isthere; var sactive=-1; var sisthere=-1; var s2active=-1; var s2isthere=-1

 

function swmenu(num,snum,s2num){

if(snum!=-1){

if(oSlide[num][snum].subs==0) return

}

if(s2num!=-1){

if(oSlide[num][snum][s2num].subs==0) return

}

if((num!=active || snum!=sactive || s2num!=s2active) && !going){going=true;isthere=0;sisthere=0;moveUp(num,snum,s2num)}

}

 

function moveUp(num,snum){

if(snum==-1){

for(i=0;i<oSlide.length;i++){

if(oSlide.y>oSlide.starty+pxspeed && active!=i) oSlide.moveBy(0,-pxspeed)

else{if(active!=i) oSlide.moveIt(oSlide.x,oSlide.starty); isthere=i}

}

 

if(isthere<oSlide.length-1) setTimeout("moveUp("+num+","+snum+")",timspeed)

else swmenu2(num,snum)

}else{

if(num==oSlide.length-1) isthere=num

 

if(sactive!=-1){ //Is out!

//Slide subs

j=0

for(i=sactive+1;i<oSlide[num].sub.length;i++){

j++

if(oSlide[num].sub.y>oSlide[num].sub.starty+pxspeed) oSlide[num].sub.moveBy(0,-pxspeed)

else{oSlide[num].sub.moveIt(oSlide[num].sub.x,oSlide[num].sub.starty); sisthere=i}

}

//Slide main

for(i=num+1;i<oSlide.length;i++){

if(oSlide.y>oSlide.starty + oSlide[num].sub[sactive].y +subheight*j ) oSlide.moveBy(0,-pxspeed)

else{oSlide.moveIt(oSlide.x,oSlide.starty + oSlide[num].sub[sactive].y +subheight*j ); isthere=i}

}

}else{ //Slide to the one clicked

for(i=num+1;i<oSlide.length;i++){

if(oSlide.y>oSlide.starty + snum*between+between) oSlide.moveBy(0,-pxspeed)

else{oSlide.moveIt(oSlide.x,oSlide.starty + snum*between+between); isthere=i}

}

}

if(isthere<oSlide.length-1 || (sactive!=-1 && sisthere<oSlide[num].sub.length-1 && sactive!=oSlide[num].sub.length-1)) setTimeout("moveUp("+num+","+snum+")",timspeed)

else swmenu2(num,snum)

}

}

 

function swmenu2(num,snum){

isthere=0;

sisthere=0;

if(active>-1 && snum==-1){

//Hiding submenus

for(j=0;j<oSlide[active].subs;j++){oSlide[active].sub[j].hideIt()}

oSlide[active].bgImg(level0_regular)

oSlide[active].moveIt(0,oSlide[active].starty)

}

if(sactive>-1){

//Hiding submenus

for(j=0;j<oSlide[active][sactive].sub.length;j++){oSlide[active][sactive].sub[j].hideIt()}

oSlide[active].sub[sactive].bgImg(oSlide[active].sub[sactive].origimg)

oSlide[active].sub[sactive].moveIt(10,oSlide[active].sub[sactive].starty)

//Move back to place

for(i=sactive+1;i<oSlide[active].sub.length;i++){

oSlide[active].sub.moveIt(oSlide[active].sub.x,oSlide[active].sub.starty)

}

}

active=num

//Showing submenus

if(snum>-1){

sactive=snum

for(j=0;j<oSlide[num][snum].sub.length;j++){oSlide[num][snum].sub[j].showIt()}

oSlide[num].sub[snum].moveBy(10,3)

oSlide[num].sub[snum].bgImg(level1_round2)

}else{

sactive=-1

for(j=0;j<oSlide[active].subs;j++){oSlide[active].sub[j].showIt()}

oSlide[num].moveBy(10,3)

oSlide[num].bgImg(level0_round)

}

if(num!=oSlide.length-1) moveDown(num,snum)

else{

isthere=num

moveDown(num,snum)

}

}

 

function moveDown(num,snum){

//if(num==oSlide.length-1) isthere=num

for(i=num+1;i<oSlide.length;i++){

if(snum==-1){

if(oSlide.y<(oSlide[num].subs-1)*subheight+oSlide.starty+between-pxspeed) oSlide.moveBy(0,pxspeed)

else{oSlide.moveIt(oSlide.x,(oSlide[num].subs-1)*subheight+oSlide.starty+between); isthere=i}

}else{

if(oSlide.y<(oSlide[num].subs-1)*subheight+oSlide.starty+between-pxspeed + (oSlide[num][snum].subs-1)*subheight+between) oSlide.moveBy(0,pxspeed)

else{oSlide.moveIt(oSlide.x,(oSlide[num].subs-1)*subheight+oSlide.starty+between + (oSlide[num][snum].subs-1)*subheight+between); isthere=i}

}

}

if(snum!=-1){

for(i=snum+1;i<oSlide[num].sub.length;i++){

if(oSlide[num].sub.y<(oSlide[num][snum].subs-1)*subheight+oSlide[num].sub.starty+between-pxspeed) oSlide[num].sub.moveBy(0,pxspeed)

else{oSlide[num].sub.moveIt(oSlide[num].sub.x,(oSlide[num][snum].subs-1)*subheight+oSlide[num].sub.starty+between); sisthere=i}

}

}

if(snum==-1){

if(isthere<oSlide.length-1) setTimeout("moveDown("+num+","+snum+")",timspeed)

else going=false

}else{

if(isthere<oSlide.length-1 || (sisthere<oSlide[num].sub.length-1 && snum!=oSlide[num].sub.length-1)) setTimeout("moveDown("+num+","+snum+")",timspeed)

else going=false

}

}

var test=0

 

menus=new Array(); var a=0; var b=0; var c=0; var d=0

function makeMenu(type,text,lnk,target,end){

str=""; tg="";

if(target) tg='target="'+target+'"'

if(!lnk) lnk="#"

self.status=lnk

if(a==0) str='<div id="divSlideCont">n'

if(type=="top"){

menus[a]=new Array();

if(text=="seperator"){

str+='t<div id="divSlide'+a+'" class="clSlide"></div>n'

menus[a].seperator=1

}else{

str+='t<div id="divSlide'+a+'" class="clSlide"><a href="'+lnk+'" '+tg+' onclick="swmenu('+a+',-1,-1); if(bw.ie || bw.ns6) this.blur(); '

if(lnk=="#") str+='return false'

str+='" class="clSlideLinks fade"> '+text+'</a><br></div>n'

}

menus[a].subs=0; a++; b=0

}else if(type=="sub"){

str+='tt<div id="divSlideSub'+(a-1)+'_'+(B)+'" class="clSlideSub"><a '+tg+' onclick="swmenu('+(a-1)+','+b+',-1); if(bw.ie || bw.ns6) this.blur(); '

if(lnk=="#") str+='return false'

str+='" href="'+lnk+'" class="clSlideSubLinks fade">  '+text+'</a><br></div>n'

b++; menus[a-1].subs=b; menus[a-1][b-1]=new Array(); c=0; menus[a-1][b-1].subs=0

}else if(type=="sub2"){

str+='tt<div id="divSlideSub'+(a-1)+'_'+(b-1)+'_'+c+'" class="clSlideSub2"><a '+tg+' href="'+lnk+'" class="clSlideSub2Links fade">  '+text+'</a><br></div>n'

c++; menus[a-1][b-1].subs=c; menus[a-1][b-1][c-1]=new Array(); d=0; menus[a-1][b-1][c-1].subs=0

}

if(end) str+="</div>"

document.write(str)

}

function preLoadBackgrounds(){

for(i=0;i<arguments.length;i++){

this=new Image()

this.src=arguments

}

return this

}

Lenke til kommentar
Videoannonse
Annonse

Nei, jeg er ikke dum. Jeg la inn hele scriptet iom at jeg ikke kan javascript og ikke vet hva dere skulle se etter. Kan ikke se å ha bedt noen lese hele scriptet heller.

 

Uansett... Om du ikke vet løsningen, så kan du bare la være å legge inn svar vet du :wink:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...