Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[JS]: statisch menu

teacher
10 antwoorden
  • Ik heb een website. Ik maak vooral gebruik van CSS en Javascript. Ik ken CSS, maar ik pluk Javascripts gewoon van het web.

    Nu heb ik een menu gemaakt met een div, die ik heb gedefinieerd in CSS. Ik wil dit menu statisch maken, zodat bij het scrollen, het gewoon op zijn plek blijft.

    Nu heb ik op het internet scripts gevonden, maar die maken vooral gebruik van tabellen. Die wil ik vermijden. Evenals frames.

    Kan iemand mij hier mee helpen een Javascript voor statisch menu geschikt te maken voor DIV?

    Mijn Div heb ik in een externe stylesheet gedefinieerd op deze manier:

    [code:1:de3c59108a]
    #menu {
    position:absolute;
    visibility:show;
    top:180px;
    left:20px;
    width:160px;
    padding:5px;
    word-wrap: break-word;
    background-color:#ffffff;
    border:none;
    }
    [/code:1:de3c59108a]

    Het menu roep ik aan via een javascript:

    [code:1:de3c59108a]
    document.write('<div id="menu">');
    document.write('<h2>Menu</h2>');
    document.write('<ol>');
    document.write('<li><a class="two" title="Beginpagina" href="index.htm">Begin</a></li>');

    …etc…

    document.write('</ol></div>');

    [/code:1:de3c59108a]

    Ik wil dit laatstje stukje javascript in een script stoppen samen met de script voor static menu.

    Een voorbeeld staat op deze site: http://www.dynamicdrive.com/dynamicindex1/staticmenu3.htm

    Het maakt gebruik van tabellen en arrays…lijkt mij veel te ingewikkeld. Hoe kan ik mijn code erin verwerken? Nu lukt het me niet, want het menu verdwijnt dan of het is dan nog steeds niet statisch.

    Bedankt.
  • Ik ga niet dat hele ding voor je veranderen, alleen waar het om gaat: [code:1:ddc912613d]<div ID="object1">Het menu</div>[/code:1:ddc912613d]Dit moet er sowieso instaan; voor de rest kan je de cellen inwisselen voor div's.

    Moet te doen zijn
  • Bedankt,

    Ik heb een beter voorbeeld gevonden: http://wsabstract.com/script/script2/staticmenu.shtml

    Ik heb dat voorbeeld gebruikt.
    Maar ik heb dan een probleem, het lukt me dan niet meer om met CSS mijn divje te positioneren. Ik wil namelijk [code:1:9ddbbacbd4]top:180px;[/code:1:9ddbbacbd4], maar dat werkt niet. Het voordeel van een divje valt dan gelijk weg. Ik ken de syntax van Javascript niet, dus ik weet niet wat ik dan in de javascript moet veranderen.
  • hebruik je het dan ook wel zo[code:1:42a6cf38b5]:<style type="text/css">
    .menu {
    position: absolute; top: 198px;
    }
    </style>
    </head>

    <body>
    <div class="menu">
    Menu
    </div>[/code:1:42a6cf38b5]of zo:[code:1:42a6cf38b5]<div style="position: absolute; ; top: 198px;">
    Menu
    </div>[/code:1:42a6cf38b5]
  • Mozilla en Opera en zo ondersteunen position:fixed.
    Dat doet precies wat jij wil denk ik.

    Ik vind de scriptjes die je gevonden hebt eigenlijk nogal zuigen.

    Je zou ook het script van doxdesk kunenn gebruiken om het het gebrek aan ondersteuning van Internet Explorer te verbeteren:
    http://www.doxdesk.com/software/js/fixed.html
  • [quote:13d70208f3="mw22"]Mozilla en Opera en zo ondersteunen position:fixed.
    Dat doet precies wat jij wil denk ik.

    Ik vind de scriptjes die je gevonden hebt eigenlijk nogal zuigen.

    Je zou ook het script van doxdesk kunenn gebruiken om het het gebrek aan ondersteuning van Internet Explorer te verbeteren:
    http://www.doxdesk.com/software/js/fixed.html[/quote:13d70208f3]

    Bedankt, dit is precies wat ik wilde. Alleen doen formulieren heel erg raar met het script van doxdesk. Ze verschijnen dan helemaal onderaan de pagina. Bij andere browsers zoals Mozilla en Opera wordt "fixed" gebruikt, en daar verschijnen de formulieren wel normaal. Aangezien de meeste mensen toch IE gebruiken, wil ik de website daar ook compatible met maken. Hoe los ik dit op?

    Dus:
    Ik maak dus gebruik van het script voor IE, ik maak dan een nieuwe div voor inhoud. In die div met inhoud zet ik de formulieren. Die worden dan dus helemaal verkeerd weergegeven.
  • Genoeg keus:

    http://www.dynamicdrive.com/dynamicindex1/index.html
  • [quote:cf7c9a187d="h4xX0r"]Genoeg keus:

    http://www.dynamicdrive.com/dynamicindex1/index.html[/quote:cf7c9a187d]

    Bedankt, ik weet dat er veel voorbeelden zijn. Ik wil gewoon blijven gebruik maken van [code:1:cf7c9a187d]position:fixed;[/code:1:cf7c9a187d]

    Dit werkt alleen in Mozilla (dus ook Netscape) en Opera, maar niet in IE. Ik wil dat opvangen met een javascript. Nu heb ik een script die dat opvangt voor IE, maar het werkt niet met formulieren. Heeft iemand dit al geprobeerd en weet iemand een oplossing voor deze vreemde "bug"?
  • Niet 's werelds meest elegante oplossing, maar het je wel eens naar deze pagina gekeken?

    - Bas
  • [quote:3cf84f4067="BasHamar"]Niet 's werelds meest elegante oplossing, maar het je wel eens naar deze pagina gekeken?

    - Bas[/quote:3cf84f4067]

    Bedankt, is inderdaad niet erg elegant. Ik denk dat ik daarom [code:1:3cf84f4067]position:fixed;[/code:1:3cf84f4067] laat zitten. Ik ga een ander javascript proberen dan. Is het trouwens mogelijk om hetzelfde effect met PHP te bereiken?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.