<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body{ background: #fff;}
#divID{ border: 1px solid #ccc;
background: #f7f7f7;
width: 200px;
height: 200px;}
//-->
</style>
<script type="text/javascript">
<!--
var intMin = 100; // Min. Breite des DIVs
var intMax = 400; // Max. Breite des DIVs
var intStep = 2; // Schrittweite, um die das DIV in seiner Grösse geändert wird
var intDelay = 5; // Verzögerung in Millisekunden
var blnBig = false;
var hTimer = null;
function initResize(){
blnBig = (blnBig)? false : true; // false => verkleinern, true => vergrössern
// Falls noch ein Timer läuft -> beenden
if(hTimer != null) window.clearTimeout(hTimer);
// Resize-Funktion verzögert aufrufen
hTimer = window.setTimeout("resizeDiv()", intDelay);
}
function resizeDiv(){
// Vorzeichen zum Vergrössern (1)/Verkleinern (-1) bestimmen
var intSgn = (blnBig)? 1 : -1;
// Element ermitteln, das in der Grösser verändert werden soll
var objDiv = document.getElementById("divID");
// Falls der Brower die Methode "getComputedStyle" kennt (W3C-DOM)
if(window.getComputedStyle){
var strWidth = window.getComputedStyle(document.getElementById("divID"), null).getPropertyValue("width");
// Falls der Browser die Methode "currentStyle" kennt (neuere IEs)
}else if(document.getElementById("divID").currentStyle){
var strWidth = document.getElementById("divID").currentStyle["width"];
}
// Neue Grösse zuweisen
objDiv.style.width = (parseInt(strWidth) + intSgn*intStep) + "px";
// Falls die neue Grösse noch innerhalb der Grenzen liegt -> Resize-Funktion erneut aufrufen
if((parseInt(objDiv.style.width) >= intMin) && (parseInt(objDiv.style.width) <= intMax)){
hTimer = window.setTimeout("resizeDiv()", intDelay);
}
}
//-->
</script>
</head>
<button onclick="window.clearTimeout(hTimer);">stopp</button>
<div id="divID" onclick="initResize();">
<p>Zum Starten hier klicken.</p>
<p>Richtungsänderung durch erneutes Klicken</p>
</div>
</body>
</html>