Avatar billede orkiderejser Novice
10. april 2007 - 11:12 Der er 23 kommentarer og
1 løsning

Foldemenu virker ikke i Firefox

Jeg har en menu der folder ud i Explorer, men der sker intet i Firefox?

Koden er:
<tr>
      <td class='pad' height='18'><img src='img/arrow.gif' alt="Rejsebureau" width="10" height="10" id='a_2'/>&nbsp;&nbsp;<a class='menu'onclick="goUrl('dest/oversigt.html');fold('destDIV');return false;" onMouseOver='a_2.src=pic.pic_on.value' onMouseOut='a_2.src=pic.pic_off.value'>Thailand</a></td>
    </tr>
      <!-- Destination links -->

    <td>
    <div id='destDIV' style='display:none;'>
        <table cellspacing='0' cellpadding='0'>
          <tr><td><a class='menu' href='dest/bangkok.html' target='main'>Bangkok</a> </td></tr>
          <tr><td height="18"><a class='menu' href='dest/chiangmai.html' target='main'>Chiang Mai</a> </td></tr>
          <tr><td><a class='menu' href='dest/huahin.html' target='main'> Hua Hin</a> </td></tr>

          <tr><td><a class='menu' href='dest/kohsamui.html' target='main'>Koh Samui</a> </td></tr>
          <tr><td><a class='menu' href='dest/kohsamet.html' target='main'>Koh Samet</a> </td></tr>
          <tr><td><a class='menu' href='dest/kohchang.html' target='main'>Koh Chang</a> </td></tr>
          <tr><td><a class='menu' href='dest/phuket.html' target='main'>Phuket</a> </td></tr>
          <tr><td><a class='menu' href='dest/krabi.php' target='main'>Krabi</a> </td></tr>

          <tr><td><a class='menu' href='dest/PhiPhi.html' target='main'>Phi Phi</a> </td></tr>
          <tr><td><a class='menu' href='dest/khaolak.html' target='main'>Khao Lak</a> </td></tr>
          </table>
      </div>      </td>

Også i sektion <body>

<script language="JavaScript1.2" type="text/javascript">
// Folde funktionen
function fold(id) {
  obj = document.getElementById(id);
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
}
Avatar billede roenving Novice
10. april 2007 - 11:22 #1
Den virker da gnske udmærket hos mig, når man trykker på den, men billedet vil selvfølgelig ikke skifte, hvis det ikke adresseres med korrekt DOM:

document.getElementBy("a_2") i stedet for a_2 !-)

-- og så vil det jo udløse en fejl, da browseren jo ikke har en jordisk chance for at gætte, hvilket objekt det er !o]
Avatar billede orkiderejser Novice
10. april 2007 - 11:47 #2
Hej roenving

Jeg kan stadig ikke få menuen til at virke i firefox. ;-)

Nu har jeg rodet endnu mere så nu virker det heller ikke i explorer
Avatar billede roenving Novice
10. april 2007 - 11:58 #3
-- kan du linke til kalorius (evt. en test-ting !-), så jeg kan se det live ?-)
Avatar billede orkiderejser Novice
10. april 2007 - 12:04 #4
www.orkiderejser.dk

Menu "Thailand" skulle folde ud og forsidebillede skifte.

Mvh
Jan
Avatar billede roenving Novice
10. april 2007 - 12:39 #5
Tjah, det er jo ikke så mærkeligt, prøv at åbne det, der hedder javascript-konsollen i FireFox, så vil du se, at din manipulation med funktionen er katastrofal, den skal bare stilles tilbage til det, den var før ...

-- men du gør en hel del ting på måder, som _alene_ kan virke i IE, stort set alle andre browsere vil bare mene, at det er vrøvl ...

-- og så kan jeg da anbefale, at du nøjes med eet link, der dækker både billedet og teksten, for så kan vi lave det så simpelt, at det er til at arbejde med:

<tr>
  <td class='pad' height='18'><a class='menu'onclick="goUrl('dest/oversigt.html');fold('destDIV');return false;" onMouseOver='this.firstChild.src=pic[0]' onMouseOut='this.firstChild.src=pic[1]'><img src='img/arrow.gif' alt="Rejsebureau" width="10" height="10" id='a_2'>&nbsp;&nbsp;Thailand</a></td>
</tr>

-- og så have fat i billederne sådan i stedet for formen nederst:

<script type="text/javascript">
var pics = ['img/arrow_on.gif','img/arrow.gif'],pic=[];
for(i=0,im=pics.length;im>i;i++){
  pic[i] = new Image();
  pic[i].src = pics[i];
}
</script>

-- i Javascript-konsollen kan du også se en masse henvisninger til fejl i værdier i stylesheet, det lykkedes mig ikke at finde dem ved en hurtig gennemgang ...

-- og så skal du huske at sætte en tabelrække rundt om tabelcellen med undermenuerne !-)
Avatar billede orkiderejser Novice
10. april 2007 - 14:50 #6
<tr> er sat ind.

Det lyder ikke godt. Vi havde endda betalt for at få det lavet.

Jeg skal prøve at få det lært også.

Følgende er hvad der skulle ske:
1.  Ved curser over menupunkt Thailand skifter img src='img/arrow.gif til onMouseOver='a_2.src=pic.pic_on.value.
2.  Ved klik menupunkter folder de sig ud og Iframe skifter til dest/oversigt.html
3.Ved klik på et af de nu åbentstående menupunkter åbnes en ny side i Iframe.

Der burde ikke være fejl i SSC.

Endvidere ved validering er der kun nogle fejl til eksterne link og de kan ikke rettes.
Avatar billede roenving Novice
10. april 2007 - 15:03 #7
Har du prøvet at implementere mine rettelser/ændringer ?-)

-- og de skulle gerne betyde, at du crossbrowser for opfyldt alle 3 punkter !-)

-- hvis fejlene er noget med &-tegn og noget 'generate system identifier', skal du bare ændre &-tegnene til &amp; !o]
Avatar billede orkiderejser Novice
10. april 2007 - 15:11 #8
Hvis jeg retter <script type="text/javascript"> får jeg fejl i andre script.

//default speed is 4.5 seconds, Change that as desired
var speed=5000

var news=new Array()
news[0]="<a class='menu' href='http://www.rejsegaranti.dk' target='_blank'>Vi er medlem af rejsegarantifonden<a>"
news[1]="<a class='menu' href='http://www.rejsegaranti.dk' target='_blank'>Læs om nogle af vore hoteller under destinationer.<a>"
news[2]="<a class='menu' href='http://www.rejsegaranti.dk' target='_blank'>Få inspiration til jeres drømmeferie<a>"
//expand or shorten this list of messages as desired
Avatar billede roenving Novice
10. april 2007 - 15:21 #9
Øeh, hvad ?-)

-- det betyder nu ikke noget for den nye blok, hvad der står andre steder ...
Avatar billede roenving Novice
10. april 2007 - 15:24 #10
-- men når du sætter den blok ind, skal du selvfølgelig fjerne den form id=pic, der afslutter siden !-)
Avatar billede orkiderejser Novice
10. april 2007 - 15:30 #11
Jeg har lige prøvet at lægge siden op men koden for det andet blev vist som kode.

Jeg har lagt den anden op igen.
Avatar billede orkiderejser Novice
10. april 2007 - 15:31 #12
Jeg prøver igen
Avatar billede orkiderejser Novice
10. april 2007 - 15:48 #13
</script> skulle ikke være på dette sted.
Jeg får det godt nok stadig ikke til at virke.
Har du stadig tålmodighed tilbage?
Avatar billede roenving Novice
10. april 2007 - 15:49 #14
-- det var nu hele formen inklusive inputs, du skulle fjerne, men det skulle ikke betyde noget, hvis du bruger den kode, jeg har fat i 12:39:45 !-)

-- og du skulle ikke fjerne fold-funktionen, det har ikke noget med hinanden at gøre !o]
Avatar billede orkiderejser Novice
10. april 2007 - 16:05 #15
Jeg skal da ikke fjerne undermenuen destDIV. Fold er der stadig?

<form id='pic' action="">
<input type='hidden' id='pic_on' value='img/arrow_on.gif'/>
<input type='hidden' id='pic_off' value='img/arrow.gif'/>
</form>

<form> fjernet men ikke input

Nu er jeg forvirret!
Avatar billede roenving Novice
10. april 2007 - 16:13 #16
Dette er nødvendigt for at folde-menuen virker:

<script type="text/javascript">
var pics = ['img/arrow_on.gif','img/arrow.gif'],pic=[];
for(i=0,im=pics.length;im>i;i++){
  pic[i] = new Image();
  pic[i].src = pics[i];
}
function fold(id) {
  obj = document.getElementById(id);
  obj.style.display = (obj.style.display == "none") ? "inline" : "none";
}
function goUrl(url){
  document.main.location = url;
}
</script>

<table>
<tr>
  <td class='pad' height='18'><a class='menu'onclick="goUrl('dest/oversigt.html');fold('destDIV');return false;" onMouseOver='this.firstChild.src=pic[0]' onMouseOut='this.firstChild.src=pic[1]'><img src='img/arrow.gif' alt="Rejsebureau" width="10" height="10" id='a_2'>&nbsp;&nbsp;Thailand</a></td>
</tr>
<tr>
    <td>
    <div id='destDIV' style='display:none;'>
        <table cellspacing='0' cellpadding='0'>
          <tr><td><a class='menu' href='dest/bangkok.html' target='main'>Bangkok</a> </td></tr>
          <tr><td height="18"><a class='menu' href='dest/chiangmai.html' target='main'>Chiang Mai</a> </td></tr>
          <tr><td><a class='menu' href='dest/huahin.html' target='main'> Hua Hin</a> </td></tr>

          <tr><td><a class='menu' href='dest/kohsamui.html' target='main'>Koh Samui</a> </td></tr>
          <tr><td><a class='menu' href='dest/kohsamet.html' target='main'>Koh Samet</a> </td></tr>
          <tr><td><a class='menu' href='dest/kohchang.html' target='main'>Koh Chang</a> </td></tr>
          <tr><td><a class='menu' href='dest/phuket.html' target='main'>Phuket</a> </td></tr>
          <tr><td><a class='menu' href='dest/krabi.php' target='main'>Krabi</a> </td></tr>

          <tr><td><a class='menu' href='dest/PhiPhi.html' target='main'>Phi Phi</a> </td></tr>
          <tr><td><a class='menu' href='dest/khaolak.html' target='main'>Khao Lak</a> </td></tr>
          </table>
      </div>      </td>
</tr></table>

-- og så skal iframen med navnet 'main' selvfølgelig også være der !-)
Avatar billede roenving Novice
10. april 2007 - 16:15 #17
-- og så kan du ligesågodt fjerne både form og felter, da de kun er der for at gøre det samme (men kun i een browser !-), som jeg gør crossbrowser med den første kode i ovenstående !o]
Avatar billede orkiderejser Novice
10. april 2007 - 17:05 #18
Jeg mener jeg har gjort alt ovenstående. Det virker dog stadig ikke i firefox og img/arrow_on.gif vises ikke.

Menupunktet Thailand vises helt forkert i firefox
Avatar billede roenving Novice
10. april 2007 - 17:12 #19
Sorry, det kommer der desværre nogen gange ud af, at der mangler nogle elementer til lokal test, her, at jeg ikke konverterede den relative sti til billederne, så jeg kunne slet ikke se dem ...

-- Thailand-link-cellen skal være således:

  <td class='pad' height='18'><a class='menu'onclick="goUrl('dest/oversigt.html');fold('destDIV');return false;" onMouseOver='this.firstChild.src=pic[0].src;' onMouseOut='this.firstChild.src=pic[1].src;'><img src='img/arrow.gif' alt="Rejsebureau" width="10" height="10" id='a_2'>&nbsp;&nbsp;Thailand</a></td>
Avatar billede orkiderejser Novice
10. april 2007 - 17:21 #20
Nu virker det i IE. Kan det være min firefox der er fejl på eller er opstillingen der kan være forkert. Forløblig tak for hjælpen. ;-)
Avatar billede roenving Novice
10. april 2007 - 17:30 #21
Det er goUrl, der skal ændres, en gang har jeg kigget undrende på den, men der var så mange andre småting:

function goUrl(url){
  window.main.location = url;
}
Avatar billede orkiderejser Novice
10. april 2007 - 17:43 #22
Så virker det. Jeg kan se jeg skal til at se på alle de andre ting også. Mange tak for hjælpen og din store tålmodighed.
Sender du et svar. ;-))

Mvh
Jan
Avatar billede roenving Novice
11. april 2007 - 03:02 #23
Velbekomme '-)

-- og hvis I har betalt for at få det makværk lavet (jvf. 14:50:54), bør I kræve at få pengene tilbage, for medmindre I har specificeret at det skal være mono-browser, er det simpelthen for dårligt håndværk, at det er lavet til kun at virke til en browser ...

-- faktisk er det nogle gange rimeligt nok, at man dækker en afgrænset del af markedet, bl.a. fordi mangte løsninger eksisterer i interne netværk, men jeg har ligesom på fornemmelsen, at forretningsmodellen i et rejsebureau ikke kan tåle at udelukke op omkring 20% af de potentielle brugere ...

Se f.eks. http://www.thecounter.com/stats/2007/March/browser.php (et kommercielt site, der nok nærmest dækker 'forbrugerne') eller http://www.w3schools.com/browsers/browsers_stats.asp (nok et mere 'nørdet' sted, hvor brugerne nok repræsenterer folk, der egentlig er ret 'bevidste' !-)
Avatar billede roenving Novice
11. april 2007 - 14:20 #24
-- og tak for point ;~}
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