Avatar billede bodyguard Nybegynder
14. september 2007 - 08:55 Der er 12 kommentarer og
1 løsning

Skift indhold ud i span

Hej eksperter,

Jeg har lavet en menu og når man trykker på et af punkterne skal der komme en undermenu...

Jeg mangler har fundet andre scripts på sitet, men de tager ikke højde for "' og generelt andre funktioner...

Måske kan man lave det sådan at indholdet som skal indsættes ligger i en DIV som er usynlig...

Så scriptet skal tage højde for at jeg har 5 forskellige menuer...

På forhånd tak :)
Avatar billede montago Praktikant
14. september 2007 - 09:22 #1
what !?
Avatar billede bodyguard Nybegynder
14. september 2007 - 10:04 #2
Ligesom dette:

</style>
<script type="text/javascript">
  function skriv( html ) {
    document.getElementById("topmenu").innerHTML = html;
  }
</script>


onclick="skriv('Hello world!');"

...bare lidt anderledes.
Avatar billede olebole Juniormester
14. september 2007 - 13:29 #3
<ole>

onclick="skriv('World ... hello!');"

- lidt, men ikke meget anderledes  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
14. september 2007 - 13:30 #4
- og for at være lidt seriøs: Skal du indsætte tekst eller HTML-elementer?
Avatar billede bodyguard Nybegynder
14. september 2007 - 17:00 #5
Det er HTML elementer :)

Derfor idéen at gemme det hele i en DIV...

Så når man klikker på et hovedmenu punkt kommer der en submenu som ændre sig alt efter hvilket hovedmenu punkt der blev trykket :)
Avatar billede olebole Juniormester
14. september 2007 - 18:10 #6
var aCh = document.getElementById("SJULT_DIV_ID").childNodes;
var o = document.getElementById("topmenu");
for (var i=0,j=aCh.length; i<j; i++) o.appendChild( aCh[i].cloneNode(true) );
Avatar billede bodyguard Nybegynder
14. september 2007 - 23:12 #7
Kan du lokkes til at give mig det fulde script :)
Avatar billede olebole Juniormester
15. september 2007 - 18:25 #8
Det kunne se sådan ud:

<script type="text/JavaScript">
function foo() {
    var aCh = document.getElementById("DvHidden").childNodes;
    var o = document.getElementById("topmenu");
    for (var i=0,j=aCh.length; i<j; i++) o.appendChild( aCh[i].cloneNode(true) );
}
</script>
<button onclick="foo()">Test</button>

<div id="topmenu" style="width:200px;height:200px;background:#ffcc00"></div>

<div id="DvHidden" style="display:none">
    <div style="background:blue;color:white">Et div med <span style="background:yellow;color:red">et span</span></div>
    <table style="background:#ededed" border="1">
    <tbody>
    <tr>
        <td>En</td>
        <td>tabel</td>
    </tr>
    <tr>
        <td>med</td>
        <td>tre</td>
    </tr>
    <tr>
        <td colspan="2">rækker</td>
    </tr>
    </tbody>
    </table>
</div>
Avatar billede olebole Juniormester
15. september 2007 - 18:28 #9
- og ingen af elementerne under 'DvHidden' må have en ID. ID'er må du i stedet sætte på de enkelte elementer, efter de er indsat i DOM'en. Ellers vil der opstå flere elementer med samme ID - og det går ikke  :)
Avatar billede bodyguard Nybegynder
17. september 2007 - 03:24 #10
Det er vigtigt at oprette flere forskellige menuer... Men de SKAL alle være i den samme område... Så når man aktivere scriptet skal det nye indhold erstatte det gamle...
Avatar billede olebole Juniormester
17. september 2007 - 14:29 #11
Enten må jeg kende den nøjagtige kode og dine nøjagtige idéer omkring dens virkemåde ... ellers kan jeg kun bidrage med inspiration  :)
Avatar billede bodyguard Nybegynder
17. september 2007 - 22:21 #12
Du kan kigge på www.GroupG9.dk

Jeg er ved at lave hjemmesiden, menuen er kommer til at fungerelidt simpelt:

<TABLE height=18 cellpadding="0" cellspacing="0" border="0">
                  <TBODY>
                  <TR>
                    <TD align="center" valign="middle" class="topmenu1" onmouseover="this.className='topmenu2';" onmouseout="this.className='topmenu1';">&nbsp;&nbsp;HJEM&nbsp;&nbsp;</TD>
                    <TD align="center" valign="middle" class="topmenu1" onmouseover="this.className='topmenu2';" onmouseout="this.className='topmenu1';">&nbsp;&nbsp;PRODUKTER&nbsp;&nbsp;</TD>
                    <TD align="center" valign="middle" class="topmenu1" onmouseover="this.className='topmenu2';" onmouseout="this.className='topmenu1';">&nbsp;&nbsp;PERSONALE&nbsp;&nbsp;</TD>
                    <TD align="center" valign="middle" class="topmenu1" onmouseover="this.className='topmenu2';" onmouseout="this.className='topmenu1';">&nbsp;&nbsp;OM GROUP G9&nbsp;&nbsp;</TD>
                    <TD align="center" valign="middle" class="topmenu1" onmouseover="this.className='topmenu2';" onmouseout="this.className='topmenu1';">&nbsp;&nbsp;KONTAKT&nbsp;&nbsp;</TD>
                    </TR></TBODY></TABLE>
Avatar billede crazysnap Seniormester
18. september 2007 - 09:15 #13
Hej bodyguard,

Som opfordret ligger jeg et svar her da jeg postede en løsning på dette spørgsmål ved http://www.eksperten.dk/spm/796330. Så til jer andre, se kommentar 17/09-2007 09:41:41 ved spørsmål 796330. :)


Mvh.

- Snap :)
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