Вход

Просмотр полной версии : Помогите найти ошибку в простом скрипет


Mekasan
02.08.2013, 18:53
Помогите найти ошибку , делю спойлер свертывание развертывание контента с задержкой , чтоб карасиво было... спойлер уезжает , а обратно никак :(

<DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8 />
<script>
var step=4;

function hideSlow()
{
var myDiv = document.getElementById("myDiv")
if (myDiv.clientHeight>=step)
{
var h = myDiv.clientHeight - step
myDiv.style.height=h+'px'
setInterval('hideSlow()', 50)
}
else
{
myDiv.style.display='none'
var paneltitle = document.getElementById('paneltitle')

paneltitle.firstChild.nodeValue='Разверну ь'
}
}

function showSlow()
{


var myDiv = document.getElementById("myDiv")
if (myDiv.clientHeight <= myDiv.originalHeight + step)
{
var h = myDiv.clientHeight + step;
myDiv.style.height=h+'px'
setInterval('showSlow()', 50)
}
else
{
var paneltitle = document.getElementById('paneltitle')
myDiv.style.height=myDiv.originalHeight+'px';
paneltitle.firstChild.nodeValue='Свернуть'
}
}



function panel()
{
var myDiv = document.getElementById('myDiv')

if(myDiv.style.display=="none")
{

myDiv.style.display=''
showSlow()

}
else
{
myDiv.originalHeight = myDiv.clientHeight;
hideSlow()

}
}

</script>
<style>
#myDiv{
border: 1px solid #333;
overflow: hidden;
}
</style>
</head>
<body>
<title>panel</title>
<a id="paneltitle" href="javascript:panel()">Свернуть</a><br>

<div id="myDiv">
Простой текст .... Простой текст
</div>
</body>
</html>

danik.js
03.08.2013, 16:36
setInterval('hideSlow()', 50)

Таймер установил. А удалять кто будет? И не используй в качестве аргумента строку. Почему не setInterval(hideSlow, 50) ?

Mekasan
05.08.2013, 11:01
Спасибо за подсказку! Потому , что так научили (Учат..)"Специалист"

Mekasan
05.08.2013, 12:02
Или учил,курс 2010 года..