Avatar billede nicoolai Nybegynder
27. november 2008 - 20:45 Der er 3 kommentarer

Simpel Javascript og css menu

Hej Eksperter

Jeg er i gang med at lave en side hvor jeg har en simpel menu.
Menu'en består af <ul> og <li> punkter. <ul> har list-style-type sat i css til none så den ikke viser prikkerne. Jeg har så lavet en onmouseovereffekt og en onmouseouteffekt som henholdsvis viser prikken og fjerne den når musen fjernes fra det pågældende punkt.
Det jeg ikke kan finde ud af at lave er at når man trykker på et punkt, skal prikken blive der når man onmouseout'er. Når man onmouseover på et andet punkt skal prikken fjernes fra det punkt man klikkede på før og kommer frem på det punkt man nu står på.
Jeg har dette ind til videre:

<script type="text/javascript">
       
    function setBullet(element) {
        document.getElementById(element).style.listStyleType = "disc";
    }
       
    function unsetBullet(element) {
        document.getElementById(element).style.listStyleType = "none";
    }

</script>

<!-- menu -->

<ul>
    <li id="item1"><a href="#"><img src="image1.png" onmouseover="setBullet('item1');" onmouseout="unsetBullet('item1');" /></a></li>
    <li id="item2"><a href="#"><img src="image2.png" onmouseover="setBullet('item2');" onmouseout="unsetBullet('item2');" /></a></li>
    <li id="item3"><a href="#"><img src="image3.png" onmouseover="setBullet('item3');" onmouseout="unsetBullet('item3');" /></a></li>
    <li id="item4"><a href="#"><img src="image4.png" onmouseover="setBullet('item4');" onmouseout="unsetBullet('item4');" /></a></li>

</ul>
Avatar billede nicoolai Nybegynder
27. november 2008 - 20:47 #1
Undskyld stavefejlene. (end" til videre)

Og på forhånd tak :-)
Avatar billede olebole Juniormester
28. november 2008 - 00:33 #2
<ole>

<script type="text/javascript">
var oActive = null;   
function setBullet(element) {
    document.getElementById(element).style.listStyleType = "disc";
}   
function unsetBullet(element) {
    var o = document.getElementById(element);
    if (oActive!=o) o.style.listStyleType = "none";
}
function bulletStay(element) {
    if (oActive) oActive.style.listStyleType = "none";
    oActive = document.getElementById(element);
}
</script>

<!-- menu -->

<ul style="list-style-type:none">
    <li id="item1"><a href="#"><img src="image1.png" onmouseover="setBullet('item1');" onmouseout="unsetBullet('item1');" onclick="bulletStay('item1')" /></a></li>
    <li id="item2"><a href="#"><img src="image2.png" onmouseover="setBullet('item2');" onmouseout="unsetBullet('item2');" onclick="bulletStay('item2')" /></a></li>
    <li id="item3"><a href="#"><img src="image3.png" onmouseover="setBullet('item3');" onmouseout="unsetBullet('item3');" onclick="bulletStay('item3')" /></a></li>
    <li id="item4"><a href="#"><img src="image4.png" onmouseover="setBullet('item4');" onmouseout="unsetBullet('item4');" onclick="bulletStay('item4')" /></a></li>

</ul>

/mvh
</bole>
Avatar billede olebole Juniormester
28. november 2008 - 00:37 #3
- og du kan også gøre dette, som jeg personligt foretrækker (men som ikke er egentlig bedre):

<script type="text/javascript">
var oActive = null;   
function setBullet(element) {
    element.parentNode.parentNode.style.listStyleType = "disc";
}   
function unsetBullet(element) {
    var o = element.parentNode.parentNode;
    if (oActive!=o) o.style.listStyleType = "none";
}
function bulletStay(element) {
    if (oActive) oActive.style.listStyleType = "none";
    oActive = element.parentNode.parentNode;
}
</script>

<!-- menu -->

<ul style="list-style-type:none">
    <li id="item1"><a href="#"><img src="image1.png" onmouseover="setBullet(this);" onmouseout="unsetBullet(this);" onclick="bulletStay(this)" /></a></li>
    <li id="item2"><a href="#"><img src="image2.png" onmouseover="setBullet(this);" onmouseout="unsetBullet(this);" onclick="bulletStay(this)" /></a></li>
    <li id="item3"><a href="#"><img src="image3.png" onmouseover="setBullet(this);" onmouseout="unsetBullet(this);" onclick="bulletStay(this)" /></a></li>
    <li id="item4"><a href="#"><img src="image4.png" onmouseover="setBullet(this);" onmouseout="unsetBullet(this);" onclick="bulletStay(this)" /></a></li>
</ul>
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