login  Naam:   Wachtwoord: 
Registreer je!
 Forum

slide div open

Offline Ibrahim - 02/01/2007 13:58
Avatar van IbrahimPHP expert Ik heb ergens op dit forum een topic gevonden. Hij zei dat als je een div wilt open laten 'glijden', dat je dan een JS functie moest maken met een for loop die dan telkens de height verhoogd met i.

Dit heb ik gedaan, maar werkt dus niet.

  1. function schuif_open(divID, maxHeight)
  2. {
  3. for(i = 0; i < maxHeight; i++)
  4. {
  5. document.getElementById(divID).style.height += i;
  6. document.getElementById(divID).style.display = 'block';
  7. }
  8. }


kan iemand me helpen ?

11 antwoorden

Gesponsorde links
Offline W0etah - 02/01/2007 14:53
Avatar van W0etah PHP beginner ik weet niet of het een verschil maakt, maar moet je hem niet er niet eerst een "block" element van maken en dan pas de heigt aanpassen?
Offline Kr4nKz1n - 02/01/2007 15:12 (laatste wijziging 02/01/2007 15:16)
Avatar van Kr4nKz1n Onbekend En als ik het zo zie, als je de functie bijv. aanroept met:
href="javascript:schuif_open(id3,4)"

Wordt hij ook 4 x op block gezet. Dus zet die display eens ervoor, en buiten de for-loop.
  1. function schuif_open(divID, maxHeight)
  2. {
  3. document.getElementById(divID).style.display = 'block';
  4. for(i = 0; i < maxHeight; i++)
  5. document.getElementById(divID).style.height += i;
  6. }


Ik ben niet goed in JS maar zelf denk ik niet dat dit zal werken, ik zal even op w3c voor je kijken.

-Edit-
Precies wat ik dacht.

  1. function schuif_open(divID, maxHeight)
  2. {
  3. document.getElementById(divID).style.display = 'block';
  4. document.getElementById(divID).style.height = maxHeight;
  5. }

Probeer zoiets!
Ik weet niet hoe je px erachter zat want dit is wel vereist.
Misschien maxHeight +"px"
ik weet het niet.

S6
Offline Threetimes - 02/01/2007 15:30 (laatste wijziging 02/01/2007 15:30)
Avatar van Threetimes PHP beginner maxHeight +"px" is goed, dus
  1. function schuif_open(divID, maxHeight)
  2. {
  3. document.getElementById(divID).style.display = 'block';
  4. document.getElementById(divID).style.height = maxHeight+"px";
  5. }
Offline Dark_Paul - 02/01/2007 15:36 (laatste wijziging 02/01/2007 15:36)
Avatar van Dark_Paul PHP ver gevorderde Als je de hoogte steeds met 1 verhoogt, is het misschien handig om setTimeout() te gebruiken. Zo kan je steeds per pixel zoveel ms vertraging opgeven, zodat je een mooie slide krijgt.
Op die manier kan je ook het tempo van de slide instellen, en maken dat elke dropdown even snel uitschuift, ongeacht de hoogte.
Offline Kr4nKz1n - 02/01/2007 15:41 (laatste wijziging 02/01/2007 15:41)
Avatar van Kr4nKz1n Onbekend Het is dm die loop, de loop telt tot hij aan maxHeight is, kun je net zo goed in 1 x die maxHeight er plaatsen.
Want volgens mij is dit niet de manier waarop je iets laat "glijden".

Threetimes, ik ben goed hae 
En dank u 8)

Ik ben steeds meer bezig met JS 
Offline Dark_Paul - 02/01/2007 15:52
Avatar van Dark_Paul PHP ver gevorderde Dat glijden kan wel, mits je werkt met een setTimeout(). Dan worden niet meteen alle pixels gelijk achter elkaar erbij geteld, maar met een kleine vertraging, wat voor een slide zorgt.
Offline Simon - 02/01/2007 15:55
Avatar van Simon PHP expert
  1. document.getElementById(divID).style.height += i;

zit de fout niet hier?
je verhoogt telkens met i, die loopt van 1 tot 30 (bijv)
dan doe je: 1 + 2 + 3 + 4 + ... + 29 + 30 , waardoor je natuurlijk een veel te groot getal krijgt, doe eens:
  1. document.getElementById(divID).style.height += 1;
Offline Kr4nKz1n - 02/01/2007 15:57
Avatar van Kr4nKz1n Onbekend Daarmee heb je wel gelijk Simon. Maar ik denk niet dat dit het probleem is. Ik denk zelf dat er meer coding nodig is om het te laten "glijden".
Offline Onnutani - 02/01/2007 16:06
Avatar van Onnutani Lid http://www.ontani.be/storage/javascriptSlider.html
Offline Kr4nKz1n - 02/01/2007 16:17
Avatar van Kr4nKz1n Onbekend Juist 
Geweldig ;)
Offline Ibrahim - 02/01/2007 16:20
Avatar van Ibrahim PHP expert ik heb gekeken naar Ontani's voorbeeld, en het is gelukt 
Dank jullie wel, nu heb ik veel meer bij geleerd 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.371s