Я думал, что напишу простой скрипт, чтобы немного оживить мою веб-страницу.
Основная идея состояла в том, чтобы сделать div больше и меньше, когда я нажимаю кнопку. Я хорошо справился с растущей частью, но я не могу заставить ее снова сжиматься.
Казалось бы, после долгой отладки вычитание в JavaScript просто не работает. Похоже, что эта строка не работает: i = height - 4;
, значение i
остается прежним.
Я привожу полный пример, не могли бы вы помочь мне это исправить?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<meta http-equiv="Content-Language" content="Estonian" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
</head>
<body>
<script type="text/javascript">
var i;
var increasing = new Boolean("true");
var height;
function testFunction() {
height = parseInt(document.getElementById("testDiv").offsetHeight);
if( increasing == true ) {
i = height + 4;
document.getElementById("testDiv").style.height = i + "px";
if( height >= 304 ) {
increasing = false;
}
else {
pause(30);
}
}
else {
i = height - 4;
document.getElementById("testDiv").style.height = i + "px";
if( height <= 104 ) {
increasing = true;
}
else {
pause(30);
}
}
}
function pause(ms) {
setTimeout("testFunction()", ms);
}
</script>
<button id="button" type="button" onclick="testFunction();">Do it!</button.
<div id="testDiv" style="border: 2px solid black; width: 400px; height: 100px; text-align: center;">
Hello!
</div>
</body>
</html>
РЕДАКТИРОВАТЬ: теги производили HTML, пришлось изменить> на.