Нужно, чтобы скрипт выполнял такую задачу: на экран выводиться картинка (картинка нарисована на PHP). Генериться случайное число, и через это случаное число секунд картинка меняеться. Нужно, чтобы юзер за минимальное время после изменения картинки кликнул на ней. Если у юзера сдадут нервы и он кликнет до того как картинка изменится, выводиться гневная надпись и т.д. и т.п. Такой себе тест на скорость. Пробовала использавоть setTimeout для организации задержки ьперед изменением картинки, но при его использовании картинка почему то меняеться сразу. Я использую такую функцию для задержки
| Код | function pause (mSec) { clock = new Date(); justMinute = clock.getTime(); while (true) { just = new Date(); if ((just.getTime() - justMinute > mSec) ) break; } }
|
Но мне нужно отслеживать если юзер кликнул мышкой до того как картинка поменялась. Весь скрипт
| Код | <html> <head> <title>Документ без имени</title> <meta http-equiv="Тип-содержимое" content="text/html; charset=iso-8859-1"> <meta http-equiv="Тип-содержимое" content="text/html; charset=iso-8859-1"> </head>
<script language="javascript"> var c=0,t1=0,t2=0/*время включения лампы и клика юзера*/,l=0/*состояние лампы*/,r=0/*случайное число*/;
function getrandom(){ r=Math.round(Math.random()*10,-1); if (r<6)r=r+3; else r=r-3; return r; }
function vremya(){ var time=new Date(); t=time.getTime(); return t; }
function lampa()/*Лампа включается*/{ document.pict.src='white.php' l=1; t1=vremya(); // Время включения лампы // clearTimeout(); }
function starts()/*Перед началом игры*/{ document.out.results.value=document.out.results.value+'\n\n'; l=0; document.out.results.value=document.out.results.value+'r='+r+'\n'; t1=0;t2=0; }
function pause (mSec) { clock = new Date(); justMinute = clock.getTime(); while (true) { just = new Date(); if ((just.getTime() - justMinute > mSec) ) break; } }
function clicks()/*юзер кликает при включении лампы*/{ if (l==0){ document.out.results.value=document.out.results.value+'Фальстарт\n';}else if(l==1){ t2=vremya(); document.out.results.value=document.out.results.value+'t2='+t2+'\nt1='+t1+'\n'; var t=t2-t1; document.out.results.value=document.out.results.value+'Разница времени = '+t*0.001+'\n'; } document.out.results.value=document.out.results.value+"Кликните мышкой, чтобы начать, а потом кликните мышкой сразу же после включения лампы."+'\n'; document.pict.src="grey.php"; }
function najat()/*Обработка клика мышки на странице*/ { if (c==0)/*До старта или после клика юзера при загорании лампы*/{ c=1; document.out.results.value=document.out.results.value+'c='+c+'\n'; starts(); r=getrandom()*1000; pause®; //setTimeout(lampa(),3000); } else
if (c==1)/*Сразу после загорания лампы*/{ c=0; document.out.results.value=document.out.results.value+'c='+c+'\n'; clicks(); } } </script>
<body bgcolor="#000000"> <font color='#FF0000' face="Times New Roman, Times, serif" size="+1">
<form name="out"> <input type=text name="info" size=70 value="Кликните мышкой, чтобы начать."><p> <textarea name="results" rows=20 cols=70></textarea><p> </form>
<img src="grey.php" alt="Image, created by PHP" name="pict" onClick="najat()">
<p> Игруха
</body>
</html>
|
Как можно решить эту проблему?
| ! | Пользуйся подствекой форума!
| |