Показать сообщение отдельно
  #10 (permalink)  
Старый 02.08.2010, 16:32
Аспирант
Отправить личное сообщение для morg4n Посмотреть профиль Найти все сообщения от morg4n
 
Регистрация: 02.08.2010
Сообщений: 46

f() вызывает функцию.
функция f() вызывает функцию runperiodically
а та в свою очередь выполняет то что ей передали параметром f.
хм.
я решил дело так, еще вчера.
<script>
//what = id дива у дива обрамки должно быть ид what_full а у дива вкладыша what
//curHp - текущее значение
//maxHp - максимальное значение
//speedHp - это сколько добавляется в единицу времени
function hey(what,curHp,maxHp,speedHp)
{
obj = document.getElementById(what);
objf = document.getElementById(what+'_full');
var curPro = curHp / maxHp * 100;
var Pro = speedHp / maxHp * 100;
var count=Math.round(curPro);
 (function() {
count = count + Math.round(Pro);
obj.style.width = count + '%';

if(count >= 100)
	{
	obj.style.width = '100%';
	curHp = maxHp;
	objf.title = maxHp + '/' + maxHp;
	return false;
	}
else
	{
	curHp = curHp + speedHp;
	objf.title = curHp + '/' + maxHp;
	obj.style.width = count + '%';
	}

setTimeout(arguments.callee, 5000)
})();

}

</script>
<body onLoad="hey('myhp2',11,37,3);">


<div id="myhp2_full"  style="margin-top:200px;width:500px;height:4px;border:2px solid black;">
<div id="myhp2" style="width:50%;height:4px;background:green;"></div>
</div>
</body>


проблемы, кроме как онлоад я не могу вызвать функцию. но это не так уж и страшно. в моем варианте нельзя сделать сразу несколько таких штук. будет работать последняя.
пс. как ты сделал возможность запустить твой код прямо здесь

Последний раз редактировалось morg4n, 02.08.2010 в 16:50.
Ответить с цитированием