jerrytieben
Gebruiker
- Lid geworden
- 10 aug 2009
- Berichten
- 5
Ik heb onderstaande script geschreven om een div van grootte te veranderen.
Er komt tekst in de newsitem_inner, en de newsitem eromheen moet de hoogte aannemen zodat alle tekst zichtbaar wordt.
Dat werk op zich perfect, als ik honderd keer erop klik.
Elke keer wordt de div 2px groter ( de waarde van speed) maar gaat niet zelf door.
Terwijl ik de functie wel steeds opnieuw aanroep met setTimout().
Kan iemand mij vertellen wat ik verkeerd doe?
HTML:
javascript:
[JS]function changeSizeNieuws(Ele, innerElement, minH){
innerEle=document.getElementById(innerElement);
maxH=innerEle.offsetHeight;
curHeight=parseInt(Ele.style.height);
speed=2;
if(curHeight < maxH){
Ele.style.height = (curHeight+speed)+'px';
setTimeout("changeSizeNieuws("+Ele+", "+innerElement+", "+minH+")", 100);
}else{
Ele.style.height = minH+'px';
}
}[/JS]
Er komt tekst in de newsitem_inner, en de newsitem eromheen moet de hoogte aannemen zodat alle tekst zichtbaar wordt.
Dat werk op zich perfect, als ik honderd keer erop klik.
Elke keer wordt de div 2px groter ( de waarde van speed) maar gaat niet zelf door.
Terwijl ik de functie wel steeds opnieuw aanroep met setTimout().
Kan iemand mij vertellen wat ik verkeerd doe?
HTML:
HTML:
<div class="newsitem" onclick="changeSizeNieuws(this, 'inner_1', '38');" style="height:38px;">
<div id="inner_1" class="newsitem_inner">Nieuws item 1<br /><br />It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English</div>
</div>
javascript:
[JS]function changeSizeNieuws(Ele, innerElement, minH){
innerEle=document.getElementById(innerElement);
maxH=innerEle.offsetHeight;
curHeight=parseInt(Ele.style.height);
speed=2;
if(curHeight < maxH){
Ele.style.height = (curHeight+speed)+'px';
setTimeout("changeSizeNieuws("+Ele+", "+innerElement+", "+minH+")", 100);
}else{
Ele.style.height = minH+'px';
}
}[/JS]