Avatar billede dkkarpen Nybegynder
23. august 1999 - 10:37 Der er 20 kommentarer og
1 løsning

Java fejl i netscape

Jeg får følgende fejlmeddelelse i netscape 4.0:

JavaScript Error: http://www.dsa.dk/kim/ruko/menu.htm, line 22:

document[target] has no properties.

Scriptet er:

<script LANGUAGE="JavaScript">

img = new Image;

function changeImg(imgName, target) {
  img.src = imgName;
  document[target].src = img.src;
}

</script>

Linie 22 ser såkedes ud:

document[target].src = img.src;

Hvad er galt?
Avatar billede jumper Nybegynder
23. august 1999 - 10:45 #1
Du skal ændre funktionen changeImg() til følgende:

function changeImg(imgName, target){
  img.src = imgName;
  document.images[target].src = img.src;
}

Som den var havde du også brug for en eval() foran document[target]

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 10:52 #2
Nu er fejlen blot:

document.images[target] has no properties.
Avatar billede jumper Nybegynder
23. august 1999 - 11:05 #3
Fjern

img = new Image();

og lav funktionen om til:

function changeImg(imgName, target){
  document.images[target].src = imgName;
}

/Thor
Avatar billede jumper Nybegynder
23. august 1999 - 11:09 #4
Hehe, jeg har først fået mailen om at dette spørgsmål blev oprettet nu ;)

Kunne du bruge det nye svar til noget?

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:09 #5
Jeg får stadig samme fejl
Avatar billede jumper Nybegynder
23. august 1999 - 11:15 #6
Hmm, prøv dette:

document.images[(target)].src = imgName;

istedet for den nuværende linje kode i funktionen.

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:17 #7
Nope - stadig samme fejl.
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:18 #8
Måske det er en fejl i min reference definering. Du får lige hele koden:

<HTML>
<HEAD>
  <TITLE>Menu</TITLE>

<style type="text/css">
p { font-family:arial;font-size:10px }

#divbuttons {
position:absolute;
top:95px;
left:8px;
}

</style>

<script LANGUAGE="JavaScript">

function changeImg(imgName, target){
document.images[(target)].src = imgName;
}

</script>
<script language="JavaScript"><!--

function multiload(url1,url2) {
  parent.menu.location.href=url1;
  parent.rbottom.location.href=url2;

;
}

//-->
</script>
</HEAD>
<BODY BGCOLOR="#000000" BACKGROUND="images/border.gif">
<P><TABLE BORDER=0  CELLSPACING=1 CELLPADDING=6 WIDTH=114 HEIGHT=470>
<TR>
      <TD VALIGN=top BACKGROUND="images/border.gif">
<div id=divbuttons>

        <P><A HREF="java script:multiload('gode_raad/menu.htm', 'gode_raad/index.htm')" onmouseover="changeImg('images/menu_but1_over.gif', 'pic1')" onmouseout="changeImg('images/menu_but1.gif', 'pic1')"><IMG SRC="images/menu_but1.gif" WIDTH=98 HEIGHT=12 BORDER=0 ALIGN=bottom name=pic1></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('produkter/menu.htm', 'produkter/index.htm')" onmouseover="changeImg('images/menu_but2_over.gif', 'pic2')" onmouseout="changeImg('images/menu_but2.gif', 'pic2')"><IMG SRC="images/menu_but2.gif" WIDTH=98 HEIGHT=11 BORDER=0 ALIGN=bottom name=pic2></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('forhandler/menu.htm', 'forhandler/index.htm')" onmouseover="changeImg('images/menu_but3_over.gif', 'pic3')" onmouseout="changeImg('images/menu_but3.gif', 'pic3')"><IMG SRC="images/menu_but3.gif" WIDTH=88 HEIGHT=11 BORDER=0 ALIGN=bottom name=pic3></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('katalog/menu.htm', 'katalog/index.htm')" onmouseover="changeImg('images/menu_but4_over.gif', 'pic4')" onmouseout="changeImg('images/menu_but4.gif', 'pic4')"><IMG SRC="images/menu_but4.gif" WIDTH=38 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic4"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('nyheder/menu.htm', 'nyheder/index.htm')" onmouseover="changeImg('images/menu_but5_over.gif', 'pic5')" onmouseout="changeImg('images/menu_but5.gif', 'pic5')"><IMG SRC="images/menu_but5.gif" WIDTH=42 HEIGHT=11 BORDER=0 ALIGN=bottom name=pic5></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('om_ruko/menu.htm', 'om_ruko/index.htm')" onmouseover="changeImg('images/menu_but6_over.gif', 'pic6')" onmouseout="changeImg('images/menu_but6.gif', 'pic6')"><IMG SRC="images/menu_but6.gif" WIDTH=42 HEIGHT=11 BORDER=0 ALIGN=bottom name=pic6></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('job/menu.htm', 'job/index.htm')" onmouseover="changeImg('images/menu_but7_over.gif', 'pic7')" onmouseout="changeImg('images/menu_but7.gif', 'pic7')"><IMG SRC="images/menu_but7.gif" WIDTH=63 HEIGHT=10 BORDER=0 ALIGN=bottom name=pic7></A></P>
</div>   
</TD>
  </TR>
</TABLE>
</P>
</BODY>
</HTML>
Avatar billede jumper Nybegynder
23. august 1999 - 11:25 #9
Hmm, tag følgende så:

<script language="Javascript">
<!--

menu1 = new Image()
menu1.src = "images/menu_but1.gif"
menu1over = new Image()
menu1over.src = "images/menu_but1_over.gif"
menu2 = new Image()
menu2.src = "images/menu_but2.gif"
menu2over = new Image()
menu2over.src = "images/menu_but2_over.gif"
menu3 = new Image()
menu3.src = "images/menu_but2.gif"
menu3over = new Image()
menu3over.src = "images/menu_but2_over.gif"
menu4 = new Image()
menu4.src = "images/menu_but2.gif"
menu4over = new Image()
menu4over.src = "images/menu_but2_over.gif"
menu5 = new Image()
menu5.src = "images/menu_but5.gif"
menu5over = new Image()
menu5over.src = "images/menu_but5_over.gif"
menu6 = new Image()
menu6.src = "images/menu_but6.gif"
menu6over = new Image()
menu6over.src = "images/menu_but6_over.gif"
menu7 = new Image()
menu7.src = "images/menu_but7.gif"
menu7over = new Image()
menu7over.src = "images/menu_but7_over.gif"

function changeImg(imgName, target){
  document.images[target].src = eval(imgName + '.src')
}

Ved din onMouseover og onMouseout skriver du så:

<A HREF="java script:multiload('om_ruko/menu.htm', 'om_ruko/index.htm')" onmouseover="changeImg('menu6', 'pic6')" onmouseout="changeImg('menu6_over', 'pic6')"><IMG SRC="images/menu_but6.gif" WIDTH=42 HEIGHT=11 BORDER=0 ALIGN=bottom name=pic6></A>

/Thor
Avatar billede jumper Nybegynder
23. august 1999 - 11:26 #10
Med dette stykke kode får du også preloadet billederne, så de hurtigere bliver vist.

Hvis det ikke virker, laver jeg 2 funktioner, en til onMouseover og en til onMouseout

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:35 #11
Jeg får syntaks fejl i linien efter

function changeImg(imgName, target){
  document.images[target].src = eval(imgName + '.src')
}

Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:37 #12
Både i explorer og i netscape
Avatar billede jumper Nybegynder
23. august 1999 - 11:39 #13
Har du ændret din onMouseover og onMouseout kode som jeg skrev?

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:42 #14
Det skulle jeg mene. Du kan selv tjekke det her:

<HTML>
<HEAD>
  <TITLE>Menu</TITLE>

<style type="text/css">
p { font-family:arial;font-size:10px }

#divbuttons {
position:absolute;
top:95px;
left:8px;
}

</style>

<script language="Javascript">
<!--

menu1 = new Image()
menu1.src = "images/menu_but1.gif"
menu1over = new Image()
menu1over.src = "images/menu_but1_over.gif"
menu2 = new Image()
menu2.src = "images/menu_but2.gif"
menu2over = new Image()
menu2over.src = "images/menu_but2_over.gif"
menu3 = new Image()
menu3.src = "images/menu_but2.gif"
menu3over = new Image()
menu3over.src = "images/menu_but2_over.gif"
menu4 = new Image()
menu4.src = "images/menu_but2.gif"
menu4over = new Image()
menu4over.src = "images/menu_but2_over.gif"
menu5 = new Image()
menu5.src = "images/menu_but5.gif"
menu5over = new Image()
menu5over.src = "images/menu_but5_over.gif"
menu6 = new Image()
menu6.src = "images/menu_but6.gif"
menu6over = new Image()
menu6over.src = "images/menu_but6_over.gif"
menu7 = new Image()
menu7.src = "images/menu_but7.gif"
menu7over = new Image()
menu7over.src = "images/menu_but7_over.gif"

function changeImg(imgName, target){
  document.images[target].src = eval(imgName + '.src')
}
//-->
</script>
<script language="JavaScript"><!--

function multiload(url1,url2) {
  parent.menu.location.href=url1;
  parent.rbottom.location.href=url2;

;
}

//-->
</script>
</HEAD>
<BODY BGCOLOR="#000000" BACKGROUND="images/border.gif">
<P><TABLE BORDER=0  CELLSPACING=1 CELLPADDING=6 WIDTH=114 HEIGHT=470>
<TR>
      <TD VALIGN=top BACKGROUND="images/border.gif">
<div id=divbuttons>

        <P><A HREF="java script:multiload('gode_raad/menu.htm', 'gode_raad/index.htm')" onmouseover="changeImg('images/menu1over', 'pic1')" onmouseout="changeImg('images/menu1', 'pic1')"><IMG SRC="images/menu_but1.gif" WIDTH=98 HEIGHT=12 BORDER=0 ALIGN=bottom name="pic1"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('produkter/menu.htm', 'produkter/index.htm')" onmouseover="changeImg('images/menu2over', 'pic2')" onmouseout="changeImg('images/menu2', 'pic2')"><IMG SRC="images/menu_but2.gif" WIDTH=98 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic2"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('forhandler/menu.htm', 'forhandler/index.htm')" onmouseover="changeImg('images/menu3over', 'pic3')" onmouseout="changeImg('images/menu3', 'pic3')"><IMG SRC="images/menu_but3.gif" WIDTH=88 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic3"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('katalog/menu.htm', 'katalog/index.htm')" onmouseover="changeImg('images/menu4over', 'pic4')" onmouseout="changeImg('images/menu4', 'pic4')"><IMG SRC="images/menu_but4.gif" WIDTH=38 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic4"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('nyheder/menu.htm', 'nyheder/index.htm')" onmouseover="changeImg('images/menu5over', 'pic5')" onmouseout="changeImg('images/menu5', 'pic5')"><IMG SRC="images/menu_but5.gif" WIDTH=42 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic5"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('om_ruko/menu.htm', 'om_ruko/index.htm')" onmouseover="changeImg('images/menu6over', 'pic6')" onmouseout="changeImg('images/menu6', 'pic6')"><IMG SRC="images/menu_but6.gif" WIDTH=42 HEIGHT=11 BORDER=0 ALIGN=bottom name="pic6"></A><BR>
        <IMG SRC="images/menu_spacer.gif" WIDTH=2 HEIGHT=6 ALIGN=bottom><BR>
        <A HREF="java script:multiload('job/menu.htm', 'job/index.htm')" onmouseover="changeImg('images/menut7over', 'pic7')" onmouseout="changeImg('images/menu_but7.gif', 'pic7')"><IMG SRC="images/menu7" WIDTH=63 HEIGHT=10 BORDER=0 ALIGN=bottom name="pic7"></A></P>
</div>   

</TD>
  </TR>
</TABLE>
</P>
</BODY>
</HTML>
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:45 #15
Arrrrg "fejl 40"

Jeg havde glemt at fjerne stien "images/"
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:51 #16
Men der er stadig fejl i netscape:

document.images[target] has no properties
Avatar billede dkkarpen Nybegynder
23. august 1999 - 11:55 #17
Nu har jeg selv fundet ud af hvorfor. Som man kunne forvente, vil netscape ikke æde mine <div> tags...
Avatar billede dkkarpen Nybegynder
23. august 1999 - 12:56 #18
Svar bare - så får du points for ihærdighed ;-)
Avatar billede jumper Nybegynder
23. august 1999 - 15:09 #19
hehe, okay ;)

/Thor
Avatar billede jumper Nybegynder
23. august 1999 - 15:26 #20
Du kan dog stadig, med fordel, bruge mit kode fra

menu1 = new Image()
til
menu7_over = new Image()

Det preloader billederne, så de ligger i brugerens cache. Når der så udføres onMouseover skal billedet ikke først hentes fra serveren.

/Thor
Avatar billede dkkarpen Nybegynder
23. august 1999 - 15:28 #21
Ja det er jeg klar over ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester