PDA

View Full Version : Page going to an endless loop in IE



tech_support
10-12-2006, 07:36 AM
Hi,

My page keeps going in an endless loop in IE. I don't know why!!

Code:



<script type="text/javascript">
function animateHeight(id, size){
el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 < size){
el.style.height = h_size1 + 2+"px";
setTimeout("animateHeight('" + id + "','" + size + "')", 1);
}
}
function decreaseHeight(id, size){
el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 > size){
el.style.height = h_size1 - 2 + "px";
setTimeout("decreaseHeight('" + id + "','" + size + "')", 1);
}
}
</script>
<script type="text/javascript">
function animateHeight(id, size){
el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 < size){
el.style.height = h_size1 + 2+"px";

setTimeout("animateHeight('" + id + "','" + size + "')", 1);
}
}
function decreaseHeight(id, size){
el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 > size){
el.style.height = h_size1 - 2 + "px";

setTimeout("decreaseHeight('" + id + "','" + size + "')", 1);
}
}
</script><style type="text/css">
#Layer1 {
position:absolute;
width:400px;
height:0px;
z-index:1;
overflow:hidden;
}
</style>
</head>

<body>

<a href="javascript:animateHeight('Layer1','400');">Open</a> | <a href="javascript:decreaseHeight('Layer1','0');">Close</a>
<div id="Layer1" class="Layer1">
<p><font face="Verdana" size="2">Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Etiam quis nunc. Praesent magna tellus, interdum ac, aliquam
sed, sodales aliquet, elit. Pellentesque nec mauris id dolor ornare tempor.
Morbi rhoncus, ligula sit amet pharetra porttitor, nisi erat condimentum mauris,
et pellentesque leo justo eu quam. Integer et orci. Nam tempus gravida felis.
Aliquam laoreet laoreet orci. Nunc ipsum lorem, congue eget, interdum a,
fermentum non, ipsum. Suspendisse bibendum ligula vel erat. Vivamus lorem libero,
rutrum eu, elementum ut, vehicula non, nisi. Praesent viverra consequat lorem.
Nullam convallis cursus dui. Aliquam laoreet faucibus lectus. Nunc rutrum lacus
vel arcu. Morbi ante. Quisque ut felis id sapien sollicitudin tempor. Mauris eu
dolor sed nulla imperdiet laoreet. Curabitur eros neque, mattis id, viverra ac,
fringilla ut, nunc. Phasellus tempus. Integer commodo. <br>
<br>
Vivamus lacinia, neque quis ullamcorper venenatis, augue turpis egestas nulla,
et tempus metus nunc nec neque. Suspendisse tempor elit semper erat. Sed nunc.
Morbi suscipit, purus nec eleifend volutpat, nisl nulla vehicula metus, sed
sagittis lectus erat sit amet pede. Proin vestibulum viverra dui. Phasellus at
eros. Sed eget diam vitae metus placerat pharetra. Donec vitae nunc. Vivamus
tempus scelerisque erat. Mauris mollis. Suspendisse ut orci adipiscing est
malesuada cursus. Aliquam pulvinar sagittis odio. Curabitur cursus massa. <br>
<br>
Nulla venenatis. Praesent fermentum gravida ligula. Aliquam tellus magna,
rhoncus ac, lacinia id, viverra ut, dui. Aenean tincidunt, urna ut tristique
euismod, sapien velit pretium enim, quis ultrices justo justo id mauris. Sed
purus pede, lacinia in, dapibus eu, imperdiet a, libero. Aenean egestas, massa
eu tempor consequat, lectus augue nonummy mauris, in blandit ipsum tellus quis
purus. Ut at arcu vitae magna condimentum feugiat. Phasellus tempus convallis
risus. Phasellus venenatis felis eget sem adipiscing aliquet. Suspendisse in
orci quis lacus consequat faucibus. <br>
<br>
Vivamus at nisl non massa sagittis venenatis. Pellentesque est ligula, mollis
vel, varius accumsan, tincidunt ac, neque. Donec ac velit quis magna adipiscing
rutrum. Nulla est erat, egestas nec, nonummy quis, adipiscing quis, massa.
Mauris non mi eget est bibendum gravida. Donec nonummy lobortis ligula. Nam sed
mauris at tortor pellentesque aliquet. Morbi vitae elit. Phasellus sapien magna,
tincidunt nec, ultrices quis, hendrerit non, ligula. Sed elementum lacus nec
odio. Fusce hendrerit. Proin interdum. In massa sem, luctus vel, feugiat in,
pulvinar vitae, eros. Cras et mi. <br>

<br>
In libero eros, gravida sed, vehicula eu, aliquet nec, felis. Phasellus suscipit.
Nam non ipsum. Quisque leo diam, feugiat vel, lobortis non, mattis et, nibh.
Mauris nonummy tempus lorem. In ac purus non magna imperdiet fringilla. Nulla
turpis est, volutpat in, lobortis id, sagittis ac, risus. Phasellus orci erat,
sagittis non, feugiat non, vulputate in, lorem. Nam quis pede quis dolor lacinia
malesuada. Proin quis erat vitae pede consequat ultricies. Nulla erat nunc,
vehicula vel, blandit vitae, semper id, purus. Donec mattis. <br>
<br>
&nbsp;</font></p>
</div>


Try clicking on the Close or Open button. It closes, and opens, and closes for ever.

And on top of it, it doesn't hide when you open it.

Would appreciate any help ;)

Thanks,

Peter

jscheuer1
10-12-2006, 07:56 AM
<script type="text/javascript">
function animateHeight(id, size){
var el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 < size){
el.style.height = h_size1 + 2+"px";
setTimeout("animateHeight('" + id + "','" + size + "')", 1);
}
}
function decreaseHeight(id, size){
var el = document.getElementById(id);
var h_size1 = el.offsetHeight;
if (h_size1 > size){
el.style.height = Math.max(1, h_size1 - 2) + "px";
setTimeout("decreaseHeight('" + id + "','" + size + "')", 1);
}
}
</script>
<style type="text/css">
#Layer1 {
position:absolute;
width:400px;
height:1px;
z-index:1;
overflow:hidden;
}
</style>
</head>

<body>

<a href="javascript:animateHeight('Layer1',400);">Open</a> | <a href="javascript:decreaseHeight('Layer1',0);">Close</a><br>
<div id="Layer1">
<p><font face="Verdana" size="2">Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Etiam quis nunc. Praesent magna tellus, interdum ac, aliquam
sed, sodales aliquet, elit. Pellentesque nec mauris id dolor ornare tempor.
Morbi rhoncus, ligula sit amet pharetra porttitor, nisi erat condimentum mauris,
et pellentesque leo justo eu quam. Integer et orci. Nam tempus gravida felis.
Aliquam laoreet laoreet orci. Nunc ipsum lorem, congue eget, interdum a,
fermentum non, ipsum. Suspendisse bibendum ligula vel erat. Vivamus lorem libero,
rutrum eu, elementum ut, vehicula non, nisi. Praesent viverra consequat lorem.
Nullam convallis cursus dui. Aliquam laoreet faucibus lectus. Nunc rutrum lacus
vel arcu. Morbi ante. Quisque ut felis id sapien sollicitudin tempor. Mauris eu
dolor sed nulla imperdiet laoreet. Curabitur eros neque, mattis id, viverra ac,
fringilla ut, nunc. Phasellus tempus. Integer commodo. <br>
<br>
Vivamus lacinia, neque quis ullamcorper venenatis, augue turpis egestas nulla,
et tempus metus nunc nec neque. Suspendisse tempor elit semper erat. Sed nunc.
Morbi suscipit, purus nec eleifend volutpat, nisl nulla vehicula metus, sed
sagittis lectus erat sit amet pede. Proin vestibulum viverra dui. Phasellus at
eros. Sed eget diam vitae metus placerat pharetra. Donec vitae nunc. Vivamus
tempus scelerisque erat. Mauris mollis. Suspendisse ut orci adipiscing est
malesuada cursus. Aliquam pulvinar sagittis odio. Curabitur cursus massa. <br>
<br>
Nulla venenatis. Praesent fermentum gravida ligula. Aliquam tellus magna,
rhoncus ac, lacinia id, viverra ut, dui. Aenean tincidunt, urna ut tristique
euismod, sapien velit pretium enim, quis ultrices justo justo id mauris. Sed
purus pede, lacinia in, dapibus eu, imperdiet a, libero. Aenean egestas, massa
eu tempor consequat, lectus augue nonummy mauris, in blandit ipsum tellus quis
purus. Ut at arcu vitae magna condimentum feugiat. Phasellus tempus convallis
risus. Phasellus venenatis felis eget sem adipiscing aliquet. Suspendisse in
orci quis lacus consequat faucibus. <br>
<br>
Vivamus at nisl non massa sagittis venenatis. Pellentesque est ligula, mollis
vel, varius accumsan, tincidunt ac, neque. Donec ac velit quis magna adipiscing
rutrum. Nulla est erat, egestas nec, nonummy quis, adipiscing quis, massa.
Mauris non mi eget est bibendum gravida. Donec nonummy lobortis ligula. Nam sed
mauris at tortor pellentesque aliquet. Morbi vitae elit. Phasellus sapien magna,
tincidunt nec, ultrices quis, hendrerit non, ligula. Sed elementum lacus nec
odio. Fusce hendrerit. Proin interdum. In massa sem, luctus vel, feugiat in,
pulvinar vitae, eros. Cras et mi. <br>

<br>
In libero eros, gravida sed, vehicula eu, aliquet nec, felis. Phasellus suscipit.
Nam non ipsum. Quisque leo diam, feugiat vel, lobortis non, mattis et, nibh.
Mauris nonummy tempus lorem. In ac purus non magna imperdiet fringilla. Nulla
turpis est, volutpat in, lobortis id, sagittis ac, risus. Phasellus orci erat,
sagittis non, feugiat non, vulputate in, lorem. Nam quis pede quis dolor lacinia
malesuada. Proin quis erat vitae pede consequat ultricies. Nulla erat nunc,
vehicula vel, blandit vitae, semper id, purus. Donec mattis. <br>
<br>
&nbsp;</font></p>
</div>

tech_support
10-12-2006, 07:58 AM
Thanks

jscheuer1
10-12-2006, 08:05 AM
You're welcome. There could be, probably would be, other problems in certain situations though. These could either be anticipated in the code or worked out as they arise.