hola mastri web,
sto cercando di implementare un semplice script che mi faccia fare un effetto slide ad un div
codice:
<html>
<head><title></title>
<script type="text/javascript" language="javascript">
//<![CDATA[
var rightPosition=50;
var leftPosition=-150;
function horizontalSlide(idDivToSlide){
var slidingDiv = document.getElementById(idDivToSlide);
if(parseInt(slidingDiv.style.left) == rightPosition){
while(parseInt(slidingDiv.style.left) > leftPosition){
setTimeout('nop()', 1000);
slidingDiv.style.left = parseInt(slidingDiv.style.left) - 2 + "px";
}
}
else{
while(parseInt(slidingDiv.style.left) < rightPosition){
setTimeout("nop()", 1000);
slidingDiv.style.left = parseInt(slidingDiv.style.left) + 2 + "px";
}
}
}
function nop(){}
//]]>
</script>
</head>
<body>
<div id="d2" onclick="horizontalSlide('d1');">click here to slide the div</div>
<div id="d1" style="position:absolute; left:-150px; top:30px">horizontally sliding div</div>
</body>
</html>
l'effetto di questa paginetta non è quello desiderato.
Il div che dovrebbe scorrere, compare e scompare senza l'effetto slide.
Di conseguenza sembra che la funzione setTimeout non faccia il suo sporco lavoro.....dove sbaglio?