---
title: "Meny - funderingar kring onMouseOver osv..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/142475-meny-funderingar-kring-onmouseover-osv"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "learn"
published: "2006-02-14T09:43:45.000Z"
updated: "2006-02-15T16:48:55.000Z"
replies: 13
views: 404
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/142475-meny-funderingar-kring-onmouseover-osv"
---

# Meny - funderingar kring onMouseOver osv...

## #1 — learn, 2006-02-14T09:43Z

Om man skall göra en enkel meny där bilden/knappen skall bytas ut vid onMouseOver så finns det ju en hel uppsjö med olika skript att välja mellan, många är långa och avancerade. Men i ärlighetens namn, är det inte enklast att bara göra *typ* så här:

Menyelement:

```
<div id="meny1" onMouseOver="menyOver('meny1')" onMouseOut="menyOut('meny1')"><a href="hejhej">Länk</a></div>
```

 

Funktionerna:

```
function menyOver (obj) {
 document.getElementById(obj).style.backgroundImage='url(menyover.gif)';
}

function menyOut (obj) {
 document.getElementById(obj).style.backgroundImage='url(menyout.gif)';
}
```

 

Nu vill jag veta alla (väsentliga) för- och nackdelar. Är ovan beskrivna exempel ett säkert sätt som fungerar oberoende av webbläsare osv??

Permalänk: https://www.webforum.nu/p/142475

## #2 — sl0k, 2006-02-14T11:26Z

det bör fungera i de flesta webbläsare. 
dock kan det bli lite mycket att skriva in för varje länk, speciellt om du har många länkar
enligt rekommendationer ska man använda \<li\> till menyer.. 

ett ex med \<li\>.. du behöver bara lägga till fler \<li\> för fler menyalternativ.. javascriptet fixar med onmouseover 
på så sätt kan man även separera javascript, css och html mer

```
<head>
<style type="text/css">
ul.meny { margin:0; padding:0; list-style:none; }
ul.meny li { background-image: url('meny_out.gif'); }
</style>
<script type="text/javascript">
function fixaMeny() {
	var meny = document.getElementsByTagName('li');
	for (i=0;i<meny.length;i++) {
		meny[i].onmouseover = function(){this.style.backgroundImage="url('meny_over.gif')";};
		meny[i].onmouseout = function(){this.style.backgroundImage="url('meny_out.gif')";};
	}
}

window.onload=fixaMeny;
</script></head>
  <body>
	<ul class="meny">
	<li><a href="http://www.sida1.se">sida1</a></li>
	<li><a href="http://www.sida2.se">sida2</a></li>

	<li><a href="http://www.sida3.se">sida3</a></li>
	</ul>
  </body>
```

Permalänk: https://www.webforum.nu/p/1768004

## #3 — learn, 2006-02-14T11:56Z

Aha, smart. Ska kika på det! Hur är det med laddningstiden då, finns det risk att hover-effekten blir seg??

Permalänk: https://www.webforum.nu/p/1768008

## #4 — learn, 2006-02-14T11:58Z

Föresten, vad är fördelen med \<li\>, kan jag inte skriva så här: getElementsByTagName('div')??

Permalänk: https://www.webforum.nu/p/1768012

## #5 — sl0k, 2006-02-14T12:08Z

jo det kan du .. men \<li\> är rekommenderat till menyer.. hittar ingen referenssida just nu men kika på ex <https://www.alistapart.com>

tror inte det blir nån laddningstid.. när sidan laddats klart lägger skriptet på onmouseover objekten på element, precis som om de hade legat där från början, dock blir htmlstrukturen betydligt renare så här

EDIT: finns inga nackdelar med att använda \<li\> till menyer.. kika ex på 
<http://www.alistapart.com/articles/dropdowns>
<http://www.htmldog.com/articles/suckerfish/example/>

Permalänk: https://www.webforum.nu/p/1768015

## #6 — learn, 2006-02-14T12:45Z

Schyssta exempel! Finns det något exempel på hur man gör en dropdownmeny vertikalt. Alltså en "expanderbar" meny uppbyggd på samma sätt med \<li\> och \<ul\>.

Permalänk: https://www.webforum.nu/p/1768022

## #7 — sl0k, 2006-02-14T13:59Z

ja .. leta lite på alistapart.com finns massor av artiklar där

<http://www.alistapart.com/d/horizdropdowns/horizontal2.htm>
<http://www.alistapart.com/articles/horizdropdowns/>

Permalänk: https://www.webforum.nu/p/1768039

## #8 — learn, 2006-02-14T14:14Z

Hmm, ja det är ju en variant, men jag vill alltså ha en expanderbar meny, där man klickar på ett menyelement så visas dess undersidor under. När man sedan klickar på ett annat så "stängs" det föregående osv... Man ska även kunna klicka på samma igen för att stänga. Hittade själv inget sådant på ALA... Hjälp

Permalänk: https://www.webforum.nu/p/1768040

## #9 — learn, 2006-02-14T15:06Z

Någon som har tips på vart jag kan hitta ett exempel på en expanderbar meny? Jag har sökt runt överallt känns det som och allt jag hittar är fula DHTML-menyer. Jag vill ha en enkel och funktionell, gärna uppbyggd mha \<ul\> och \<li\>....

Tack på förhand!

Permalänk: https://www.webforum.nu/p/1768054

## #10 — J.N., 2006-02-14T16:40Z

HEJ!

Har du varit inne på <https://dynamicdrive.com> och tittat?

De brukar ha en del också.

Permalänk: https://www.webforum.nu/p/1768091

## #11 — learn, 2006-02-14T18:13Z

> **J.N. skrev:**
>
> HEJ!
> 
> Har du varit inne på <https://dynamicdrive.com> och tittat?
> 
> De brukar ha en del också.

Hittade inget där heller, mest en massa oskönt DHTML. Jag vill ha en plain CSS-modell (+ JS-kod om så behövs)... Någon??

Permalänk: https://www.webforum.nu/p/1768118

## #12 — learn, 2006-02-15T16:16Z

Hur gör man för att **ta bort** onMouseOver-funktionen på ett objekt?

```
function fixaMeny() {
	var meny = document.getElementsByTagName('li');
	for (i=0;i<meny.length;i++) {
		meny[i].onmouseover = function(){this.style.backgroundImage="url('meny_over.gif')";};
		meny[i].onmouseout = function(){this.style.backgroundImage="url('meny_out.gif')";};
	}
}
```

Permalänk: https://www.webforum.nu/p/1768472

## #13 — sl0k, 2006-02-15T16:33Z

aldrig testat .. 
men 

```
...
obj.onmouseover = funtction() { ; };
..
```

borde fungera.. lr helt enkelt 
obj.onmouseover = "";

Permalänk: https://www.webforum.nu/p/1768478

## #14 — learn, 2006-02-15T16:48Z

```
obj.onmouseover = "";
```

 Funkar inte.

```
obj.onmouseover = function() { ; };
```

 Verkar fungera, men det känns lite fel... Är det verkligen "rätt" sätt?

Permalänk: https://www.webforum.nu/p/1768483

---

Tråden på webben: https://www.webforum.nu/amne/javascript/142475-meny-funderingar-kring-onmouseover-osv
