Avatar billede blaatand Nybegynder
28. december 2003 - 18:10 Der er 12 kommentarer og
2 løsninger

Dropdown menu problem

http://beta.mohaa.dk/portfolie/

Denne drop down virker fint på min maskine i 1024x768. Dog har jeg lidt problemer med den som jeg håbede nogle kunne svare på.

1.) Ved en anden opløsning end 1024x768 rykker menuen sig, da den tæller fra "venstre side" af browseren, og derfor vil side samme antal pixel fra venstre side af siden ligemeget hvilken opløsning der er brugt. Jeg har ingen anelse om hvordan dette kan laves :(

2.) Siden udfører scriptet og giver en fejl, dog fungerer scriptet som det skal når det er vist i browseren (IE). I IE kan i lige trykke og se fejlen nede i venstre hjørne ;)

Koden er som følger:




<script language="javascript" src="ypSlideOutMenusC.js"></script>
<script language="javascript">
var menus = [
/* Herunder kan du definere hvor på siden at menuen skal droppe ned! (fra venstre, fra oven, menu tyggelse, menu længde)*/
    new ypSlideOutMenu("menu1", "down", 360, 117, 70, 70),
    new ypSlideOutMenu("menu2", "down", 425, 117, 70, 90),
    new ypSlideOutMenu("menu3", "down", 501, 117, 70, 90),
    ]

for (var i = 0; i < menus.length; i++) {
    menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");
    menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");
}
</script>


<table width="714" height="18" border="0" cellpadding="0" cellspacing="0" background="gfx/topmenubackground.gif">
  <tr>
    <td>
<table width="714" height="16" border="0" cellpadding="0" cellspacing="0" class="menu-tekst">
  <tr>
  <td width="220">&nbsp;</td>
          <td> <a id="act0" href="#" onmouseover="ypSlideOutMenu.showMenu('menu1')" onmouseout="ypSlideOutMenu.hideMenu('menu1')" class="menu-tekst">Sites
            by me</a> | <a id="act1" href="#" onmouseover="ypSlideOutMenu.showMenu('menu2')" onmouseout="ypSlideOutMenu.hideMenu('menu2')" class="menu-tekst">Layouts
            by me</a> | <a id="act2" href="#" onmouseover="ypSlideOutMenu.showMenu('menu3')" onmouseout="ypSlideOutMenu.hideMenu('menu3')" class="menu-tekst">Links</a></td>
  </tr>
</table>
<div id="menu1Container" >
    <div id="menu1Content">
      <div class="autoruder">
        <table border="0" cellpadding="0" cellspacing="0">
        <tr>
              <td>&nbsp;</td>
                <td width="66" class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">My
                  own </a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Companies</a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Friends</a></td>     
        </tr>
        <tr>
              <td>&nbsp;</td>
              <td class="menubuttom">&nbsp;</td>     
        </tr>
        </table>
        </div>
    </div>
</div>



<div id="menu2Container">
    <div id="menu2Content">
        <div class="autoruder">
        <table border="0" cellpadding="0" cellspacing="0">
        <tr>
              <td>&nbsp;</td>
                <td width="66" class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Site
                  pictures </a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Site
                  urls </a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Wallpapers</a></td>     
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Banners</a></td>     
        </tr>
        <tr>
              <td>&nbsp;</td>
              <td class="menubuttom">&nbsp;</td>     
        </tr>
        </table>
      </div>
    </div>
</div>

<div id="menu3Container">
    <div id="menu3Content">
        <div class="autoruder">
        <table border="0" cellpadding="0" cellspacing="0">
        <tr>
              <td>&nbsp;</td>
                <td width="66" class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">My
                  sites </a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
                <td class="menu">&nbsp;<a href="#" target="_self" class="menu-tekst">Usefull
                  sites </a></td>
        </tr>
        <tr>
              <td>&nbsp;</td>
              <td class="menubuttom">&nbsp;</td>     
        </tr>
        </table>
      </div>
    </div>
  </div>
  </div>
    </td>
  </tr>
</table>




Jeg giver 100 points for at få rettet begge fejl, dvs. 50 til hver fejl rettelse. Jeg syntes menuen er fed, og håber derfor at nogle kender til det :D
Avatar billede blaatand Nybegynder
28. december 2003 - 18:17 #1
Der er sku da egentlig et komma for meget der...
Avatar billede blaatand Nybegynder
28. december 2003 - 18:22 #2
Ok, fejlen i scriptet er rettet nu, så der er 100 points til en løsning på at få den til at passe til skærmopløsningen...

    new ypSlideOutMenu("menu1", "down", 360, 117, 70, 70),
    new ypSlideOutMenu("menu2", "down", 425, 117, 70, 90),
    new ypSlideOutMenu("menu3", "down", 501, 117, 70, 90),

skal være:

    new ypSlideOutMenu("menu1", "down", 360, 117, 70, 70),
    new ypSlideOutMenu("menu2", "down", 425, 117, 70, 90),
    new ypSlideOutMenu("menu3", "down", 501, 117, 70, 90)

Et komma for meget så jeg
Avatar billede roenving Novice
28. december 2003 - 20:57 #3
Måske kan den gøre det !-)

<div style="position:absolute;margin-left:auto;margin-right:auto;top:117px;">
<script language="javascript" type="text/javascript">
var menus = [
/* Herunder kan du definere hvor på siden at menuen skal droppe ned! (fra venstre, fra oven, menu tyggelse, menu længde)*/
    new ypSlideOutMenu("menu1", "down", 0, 0, 70, 70),
    new ypSlideOutMenu("menu2", "down", 65, 0, 70, 90),
    new ypSlideOutMenu("menu3", "down", 141, 0, 70, 90),
    ]

for (var i = 0; i < menus.length; i++) {
    menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");
    menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");
}
</script>
</div>
Avatar billede blaatand Nybegynder
28. december 2003 - 21:03 #4
Avatar billede blaatand Nybegynder
28. december 2003 - 21:08 #5
Problemet ligger stadig i at den tæller fra venstre side og ind.... den skal sådan set starte i center, det ville være fint
Avatar billede roenving Novice
28. december 2003 - 21:10 #6
Måske er vi så heldige, at vi bare skal have denne med ind i div'en, men det er for lang tid siden jeg kiggede på ypSlideMenuen ...

<script language="javascript" src="ypSlideOutMenusC.js"></script>
Avatar billede blaatand Nybegynder
28. december 2003 - 21:13 #7
nej giver samme...
Avatar billede blaatand Nybegynder
28. december 2003 - 21:13 #8
Koden er nu:


<div style="position:absolute;margin-left:auto;margin-right:auto;top:117px;">
<script language="javascript" src="ypSlideOutMenusC.js"></script>
<script language="javascript" type="text/javascript">
var menus = [
/* Herunder kan du definere hvor på siden at menuen skal droppe ned! (fra venstre, fra oven, menu tyggelse, menu længde)*/
    new ypSlideOutMenu("menu1", "down", 0, 0, 70, 70),
    new ypSlideOutMenu("menu2", "down", 65, 0, 70, 90),
    new ypSlideOutMenu("menu3", "down", 141, 0, 70, 90),
    ]

for (var i = 0; i < menus.length; i++) {
    menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");
    menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");
}
</script>
</div>
Avatar billede roenving Novice
29. december 2003 - 00:29 #9
Hovsa, nu virker den jo både i IE og Mozilla !-)
Avatar billede blaatand Nybegynder
29. december 2003 - 00:34 #10
Jamen halløjsa, hvad er der sket her? 8-)

Ej sad og rodede med det, og brugte din div tag, og smed den udenom de andre div tags.... det virkede... neat! :D

Har du et svar så får du 50 points for koden på vejen ;)
Avatar billede roenving Novice
29. december 2003 - 00:44 #11
Velbekomme '-)
Avatar billede blaatand Nybegynder
29. december 2003 - 00:46 #12
Håber det er ok jeg deler dem mellem os, jeg fandt selv den sidste løsning ;)
Avatar billede roenving Novice
29. december 2003 - 00:49 #13
-- jeg takker for points ;~}
Avatar billede blaatand Nybegynder
29. december 2003 - 00:52 #14
Takker for den linie kode :D
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