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


Animerad dropdown meny som stänger öppnad div innan nästa öppnas

Postades av 2007-11-26 17:18:41 - Kristofer Nilsson, i forum javascript/dhtml, Tråden har 0 Kommentarer och lästs av 1252 personer

Jag kan få en div att sakta öppna sig med hjälp av setInterval alt setTimeout men det jag inte kan få att fungera är att scriptet kollar om någon av "divarna" i menyn är öppnad och i så fall stänga den innan nästa öppnas..

Kod;

<script type="text/javascript"> 
var action = 0;
var timer_in = false;
var timer_out = false;
// Bestäm om det ska vikas in eller ut
/////////////////////////////////////////////////
function fold(obj,max,min)
{
	checkSubmenu();
	var id = document.getElementById(obj);
	if(id.style.height == '')
	{
		id.style.height = min+'px';
	}
	action = (action == 0) ? 1 : 0;
	if(action == 0)
	{
		clearTimeout(timer_out);
		foldIn(id,min)
	} else {
		clearTimeout(timer_in);
		id.style.display = 'block'; // visa diven
		foldOut(id,max)
	}
}
// Vik in
/////////////////////////////////////////////////
function foldIn(id,min)
{
	tmp = id;
	tmpMin = min;
	if(parseInt(id.style.height) <= min)
	{
		id.style.display = 'none'; // Göm diven
		clearTimeout(timer_in);
		return;
	}
	id.style.height = parseInt(id.style.height) - 2 + 'px';
	timer_in = setTimeout("foldIn(tmp,tmpMin)", 10);
}
// Vik ut
/////////////////////////////////////////////////
function foldOut(id,max)
{
	tmp = id;
	tmpMax = max;
	if(parseInt(id.style.height) >= max)
	{
		clearTimeout(timer_out);
		return;
	}
	id.style.height = parseInt(id.style.height) + 2 + 'px';
	timer_out = setTimeout("foldOut(tmp,tmpMax)", 10);
}
// Kontrollera om submenu är utvikt, vik in i så fall
/////////////////////////////////////////////////
function checkSubmenu()
{
	var submenu = document.getElementsByTagName('div');
	for(var i=0; i<submenu.length; i++)
	{
		if(submenu[i].className=='submenu')
		{
			if(parseInt(submenu[i].style.height)>0)
			{
				var foldThisOne = document.getElementById(submenu[i].id);
				foldIn(foldThisOne,'50','0');
			}
		}
	}
}
</script> 

Jag villalltså först göra en foldOut('div1'), sedan när man kör foldOut('div2') så vill jag att scriptet kollar om någon div är öppen, denna biten görs med checkSubmenu(). Men vad jag inte får till är att scriptet fortsätter med foldOut('div2') efter att checkSubmenu är klar.. Vad gör jag för fel?


(Detta scriptet är direkt kopierat från www.phpportalen.net och är skrivet av en snubbe som heter Nicklas så ingen credit tillfaller mig överhuvetaget.. http://www.phpportalen.net/viewtopic.php?t=70242)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 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

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 812
27 960
271 761
389
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