Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med javascript meny

Postades av 2003-11-10 15:21:58 - Lari Salminen, i forum javascript/dhtml, Tråden har 6 Kommentarer och lästs av 592 personer

Hej!

Jag har en meny som bygger på javascript och dhtml.
Koden ser ut som följer:

<code>
<SCRIPT>
function menu(obj) {
if(obj.style.display=='none') {
obj.style.display=''
}
else obj.style.display='none'
}
</SCRIPT></code>

I body ser det ut så här:

<code>
Hem<br>
Företaget<br>
<SPAN OnClick="menu(tjänster)">
Tjänster</SPAN><br>
<SPAN STYLE="display: none" ID="tjänster">
  -Webdesign<br>
  -Positionering<br>
  -Webshop<br>
</SPAN>
<SPAN OnClick="menu(simple)">
SimpleUpdate</SPAN><br>
<SPAN STYLE="display: none" ID="simple">
  -Demo<br>
  -Köp<br>
</SPAN>
<SPAN OnClick="menu(referenser)">
Referenser</SPAN><br>
<SPAN STYLE="display: none" ID="referenser">
  -Webdesign<br>
  -Partners<br>
</SPAN>
Kontakt<br>
Support<br>
Jobb
</code>

Menyn i sig fungerar hur fint som helst, men jag skulle vilja att om man har öppnat en undermeny och klickar på en annan länk (som inte tillhör den undermenyn), då ska den öppna menyn stängas.

Tyvärr är jag inte någon höjdare på just detta, så jag ber vänligen om lite hjälp på traven och hoppas att det inte är något stort jobb. Plus att enda boken jag har om javascript är utlånad...=(

Mvh Lari


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-10 15:32:32 - Fredrik Malmström


Om du tar hjälp av onmouseout?


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-10 15:39:48 - Lari Salminen

Om jag använder mig av onmouseout så stängs menyn lite för snabbt, vill att den ska ligga öppen så man kan se vad som finns i undermenyn, medans man kollar en länk under samma kategori.

Bästa lösningen hade varit att den stängs om man klickar på en annan.

Men jag vet ju inte om det går...


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-11 08:50:13 - Hans-Gunnar Nilsson

Deklarera en global javascript variabel (inte i en function alltså).
Lägg till onclick på varje huvudrubrik. Där fångar du upp id't på den rubrik du klickade på i en lokal variabel, jämför den med värdet i den globala. Om den globala innehåller ett värde och om det skiljer sig från den lokala så har du klickat på en annan meny en den valda, då kan du stänga den.

Exemplet är inte komplett utan är avsett att visa vägen.

<code>
<script language="javascript">
var oldmenu = "";

function checkmenu(strmenu)
{
if(oldmenu > "")
{
if(oldmenu != strmenu)
{
// annan meny, göm den gamla.
document.getElementById(oldmenu).style.visibility = "hidden";
}
}

oldmenu = strmenu;
}
</script>

<span id="menu1" ......>
<span id="submenu1" ..... onclick="checkmenu('menu1');">
<span id="submenu2" ..... onclick="checkmenu('menu1');">

</code>

/C


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-11 13:17:24 - Lari Salminen

Tack...jag ska se om jag kan klura ut det...ska slå ihop mitt huvud med en polare som är lite bättre på Js än vad jag är..=)


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-13 22:43:24 - Daniel Hermansson

Jag sökte efter en meny som liknade den du höll på med så jag testade lite och hittade en lösning som funkar bra (hoppas jag?). Du har säkert också hittat en lösning nu men det kan vara bra att skriva ut en fungerande lösning om någon söker efter menyer sen.

Har tagit bort alla länkar från ditt exempel.

<code>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="javascript">
var oldmenu = "";

function menu(strmenu) {

if(strmenu != ""){
if(document.getElementById(strmenu).style.display=='none') {
document.getElementById(strmenu).style.display=''
}
else document.getElementById(strmenu).style.display='none'
}



if(oldmenu > ""){

if(oldmenu != strmenu){
// annan meny, göm den gamla.
document.getElementById(oldmenu).style.display='none';
}
}

oldmenu = strmenu;
}

</SCRIPT>




</head>

<body>
<SPAN OnClick="menu('');">Hem</SPAN><br>
<SPAN OnClick="menu('');">Företaget</SPAN><br>
<SPAN OnClick="menu('tjänster');"> Tjänster</SPAN><br>
<SPAN STYLE="display: none" ID="tjänster">
&nbsp;&nbsp;-Webdesign<br>
&nbsp;&nbsp;-Positionering<br>
&nbsp;&nbsp;-Webshop<br>
</SPAN>
<SPAN OnClick="menu('simple');"> SimpleUpdate</SPAN><br>
<SPAN STYLE="display: none" ID="simple">
&nbsp;&nbsp;-Demo<br>
&nbsp;&nbsp;-Köp<br>
</SPAN>
<SPAN OnClick="menu('referenser');"> Referenser</SPAN><br>
<SPAN STYLE="display: none" ID="referenser" >
&nbsp;&nbsp;-Webdesign<br>
&nbsp;&nbsp;-Partners<br>
</SPAN>
<SPAN OnClick="menu('');">Kontakt</SPAN><br>
<SPAN OnClick="menu('');">Support</SPAN><br>
<SPAN OnClick="menu('');">Jobb </SPAN>
</body>
</html>
</code>


Svara

Sv: Hjälp med javascript meny

Postades av 2003-11-14 02:19:01 - Lari Salminen

Jag fick tag i något liknande det du har lagt upp, och jag publicerar det här jag med, som sagt, bra ifall någon behöver en meny...

<code>
<script type="text/javascript">
//<![CDATA[<!--
var OpenMenu=""; //id of menu open
function menu(objID) {
obj=document.getElementById(objID);
if(obj.style.display=='block') { //item is open close it
obj.style.display='none';
OpenMenu=""; // no menu open
}
else { //item is closed open it
if(OpenMenu!="") { // if a menu is open close it
document.getElementById(OpenMenu).style.display='none';
}
obj.style.display='block';
OpenMenu=objID; //save menu open
}
}
//-->//]]>
</script>
<style type="text/css">
<!--
#menu {width:120px;}
#menu div {display:none;}
#menu a {display:block;}
--></style>

<div id="menu">
Hem
Företaget

Tjänster

<div id="tjanster">
Webdesign-     
Positionering-     
Webshop-     
</div>
SimpleUpdate
<div id="simple">
Demo-     
Köp-     
</div>
Referenser
<div id="referenser">
Webdesign-     
Partners-     
</div>
Kontakt
Support
Jobb
</div></code>


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
354
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies