Avatar billede donslund Nybegynder
21. oktober 2004 - 09:22 Der er 8 kommentarer og
1 løsning

Lidt udvidet MouseOver

Jeg er på jagt efter et lille MouseOver-script.

Det skal fungere på den måde, at når man kører over et link skal 3 elementer blive synlige. ex. 1,2,3. Nå man er over næste link skal det være 3,4,5. Altså hele tiden 3 sammenhængende tal.

Jeg har givet mine elementer id=1, id=2, id=3 osv.

Skulle det ikke nemt kunnelade sig gøre?
Avatar billede jensgram Nybegynder
21. oktober 2004 - 09:38 #1
vi kalder over() med det id, du skriver - de elementer der skal vises, skjules hedder element1, element2 osv.

function over($id) {
    $elementer = 15; // antal af elementer (element1 - element15)
    for ($i = 1; $i <= $elementer; $i++) {
        if ($i == $id * 3 || $i == $id * 3 - 1 || $i == $id * 3 - 2) {
            $display = 'block';
        } else {
            $display = 'none';
        }
        document.getElementById('element' . $i).style.display = $display;
    }
Avatar billede jensgram Nybegynder
21. oktober 2004 - 09:39 #2
Hov, der mangler lige en }:

function over($id) {
    $elementer = 15; // antal af elementer (element1 - element15)
    for ($i = 1; $i <= $elementer; $i++) {
        if ($i <= ($id * 3) && $i >= ($id * 3 - 2)) {
            $display = 'block';
        } else {
            $display = 'none';
        }
        document.getElementById('element' . $i).style.display = $display;
    }
}

Det burder virke, men er ikke testet
Avatar billede jensgram Nybegynder
21. oktober 2004 - 09:45 #3
hov, læste lige forkert - du skal selvfølgelig kalde:

over(1) for at vise element 1-3
over(2) for at vise element 4-6 osv...
Avatar billede donslund Nybegynder
21. oktober 2004 - 10:15 #4
Du misforstod lidt. Ved link 1 skal 1,2,3 vises. Ved link 2 skal 3,4,5 vises. Men jeg rettede det selv til. Og så skiftede jeg display ud med visibility ellers hopper menuen op og ned med mouseOver.
Tak for hjælpen. Smid et svar.

For en god ordens skyld. Hele løsningen.

<script>
function skjul(){
        $elementer = 13; // antal af elementer (element1 - element15)
      for ($i = 1; $i <= $elementer; $i++) {
                document.getElementById($i).style.visibility = 'hidden';
            }
    }
function over($id) {
    $elementer = 13; // antal af elementer (element1 - element15)
    for ($i = 1; $i <= $elementer; $i++) {
        if ($i <= ($id + 1) && $i >= ($id - 1)) {
            $display = 'visible';
        } else {
            $display = 'hidden';
        }
        document.getElementById($i).style.visibility = $display;
    }
}
</script>
Avatar billede donslund Nybegynder
21. oktober 2004 - 10:38 #5
Jeg forsøger, at validere siderne på www.w3.org, men den brokker sig over <script> </script> delen. Hvorfor gør den det. Det skal den vel ikke validere på?
Avatar billede jonashn Nybegynder
21. oktober 2004 - 14:40 #6
det skal hedde <script type="javascript">...</script> tror jeg nok
Avatar billede roenving Novice
21. oktober 2004 - 15:57 #7
<script type="text/javascript"> ...
Avatar billede jonashn Nybegynder
21. oktober 2004 - 15:58 #8
det glemte jeg
Avatar billede jensgram Nybegynder
21. oktober 2004 - 16:47 #9
svar
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