Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.07.2015, 16:43
Новичок на форуме
Отправить личное сообщение для Padavan Посмотреть профиль Найти все сообщения от Padavan
 
Регистрация: 06.07.2015
Сообщений: 1

Производительность скрипта
Добрый день уважаемые форумчане!
Изучать JavaScript начал недавно, написал простейший скрипт, который при наведении на блок, изменяет его координаты в документе(+- рандомные значения), тем самым имитируя побег блока от пользователя.
Все бы хорошо, но если поиграться таким образом 40+ секунд, то заметно ухудшение отзыва блока, при следующем наведении. Прошу мне разъяснить данный момент, есть подозрения, что при наведении я регистрирую новые функции, накапливая их в памяти, но я не уверен.
Заранее спасибо.
Ссылка на песочницу: http://codepen.io/Padavan/pen/zGWOmz
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2015, 17:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Padavan,
setInterval(myFun,0); зачем это нужно? проверить насколько хватит мощности браузера и компа?
Ответить с цитированием
  #3 (permalink)  
Старый 06.07.2015, 17:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

(function (){
function getRandomInt(min, max){
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

var myText = ["Не получилось, да?","Пробуй еще!","Почти вышло))"];
var a,b;
var butt = $(".myButt ul");

function myFun(){
var numMyText = getRandomInt(0, myText.length-1);
a = getRandomInt(0,500);
b = getRandomInt(0,500);
}

butt.mouseover(function(){
  myFun();
  butt.css({"position": "absolute", "margin": a+"px "+b+"px"});
  $(".main").html(myText[numMyText]);
});

}());

Генерили постоянно : butt.mouseover(function(){
Ответить с цитированием
  #4 (permalink)  
Старый 06.07.2015, 17:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Padavan,
<!DOCTYPE html>
<html class=''>
<head><meta charset='UTF-8'>
<style class="cp-pen-styles">
.myButt {
  width: 100%;
  display: flex;
}
.myButt ul {
  margin: 40px auto;
}
.myButt ul li {
  display: flex;
  width: 100px;
  height: 50px;
  background-color: black;
  list-style-type: none;
  text-align: center;
}
.myButt ul li:hover {
  box-shadow: inset 0px -4px 0px red;
  border-right: 1px solid red;
  border-left: 1px solid red;
}
.myButt ul li a {
  display: inline-block;
  color: red;
  text-decoration: none;
  margin: auto;
}
</style></head><body>
<div class="myButt">
  <ul>
    <li><a href="#" class="main">Ну ка наведи</a></li>
  </ul>
</div>

</script><script src='//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script>
function getRandomInt(min, max){
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

var myText = ["Не получилось, да?","Пробуй еще!","Почти вышло))"];
var a,b;
var butt = $(".myButt ul");
(function(){
  butt.mouseover(function(){
  var numMyText = getRandomInt(0, myText.length-1);
  a = getRandomInt(0,500);
  b = getRandomInt(0,500);
  butt.css({"position": "absolute", "margin": a+"px "+b+"px"});
  $(".main").html(myText[numMyText]);
});
}())

;

</script>

</body></html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Принудительное завершение скрипта в любом месте. Maxfashko Общие вопросы Javascript 4 22.12.2012 14:13
Создание с помощью скрипта html элемента Anastasiya Общие вопросы Javascript 4 25.10.2011 22:28
Круговорт скрипта.... Karl Общие вопросы Javascript 1 17.10.2009 15:37
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 19:05