Показать сообщение отдельно
  #58 (permalink)  
Старый 18.12.2010, 21:06
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

вот что ты написал:
Сообщение от dmitriymar
ты тестируешь обрабатываються ли опросы преферии во время выполнения кода скрипта-не важно какого
вот код который это тестирует (таймер для этого не нужен):
<!DOCTYPE HTML>
<html>
  <body>
 
<div id="div" style="
    width: 100px;
    height: 100px;
    background: red;
"></div>
 
<script type="text/javascript">
function $(id){ return document.getElementById(id); }
$('div').onclick = function(){
    $('div').onclick = function(){
        $('div').innerHTML += '.';
    }
    for( var i=0; i<1500000000; i++ );   // !!! количество итераций зависит от CPU
    $('div').innerHTML += 'o';
}
</script>
 
  </body>
</html>

---
вот как ты представляешь себе тест:
Сообщение от dmitriymar
запусти какойнибудь цикл по таймеру длительный. сделай обработчик события он клик-чтобы считал колво нажатых раз. запусти несколько раз это дело по таймеру. ну и выведи по окончаню количество нажатий. в смысле обработчик события онклик к какому либо элементу на странице
вот моя реализация:
<!DOCTYPE HTML>
<html>
  <body>
 
<div id="div" style="
    width: 100px;
    height: 100px;
    background: red;
"></div>

<a href="#" id="go">go</a>

<a href="#" id="show-clicks">show clicks</a>
 
<script type="text/javascript">

var clicks = 0;
var n = 3;
var delay = 1000;

$('div').onclick = function(){
    clicks++;
}

$('go').onclick = function(){
    setTimeout( loop, delay );
};

function loop(){
    if( n <= 0 ){
        $('div').innerHTML += 'done';
        return;
    }
    for( var i=0; i<1500000000; i++ );   // !!! количество итераций зависит от CPU
    n--;
    setTimeout( loop, delay );
}

$('show-clicks').onclick = function(){
    alert( clicks );
}

function $(id){ return document.getElementById(id); }

</script>
 
  </body>
</html>

что этот код тестирует - хз. Но в любом случае, он работает не так как ты говоришь
Ответить с цитированием