Javascript.RU

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

Размытая анимация. Как исправить?
Всем привет. Как можно сделать анимацию более плавной и вообще, возможно ли это?
$(document).ready(function(){
var i = 0;
    $(document).keydown(function(event) {
	if(event.which == 39){
	$('div').css("margin-left",""+i+"px");
	i+=6;
	}
   });
});

Нажимаем клавишу со стрелочкой вправо и блок div меняет свои координаты. Но анимация дерганая. Реально ли в javascript добиться более плавного эффекта при этой же скорости? Вот ссылка на рабочий скрипт http://jsfiddle.net/GP9Q2/
Ответить с цитированием
  #2 (permalink)  
Старый 31.01.2013, 21:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$(document).ready(function(){
var i = 0;
    $(document).keydown(function(event) {
	if(event.which == 39){
	$('div').animate({"margin-left":""+i+"px"},1500);
	i+=6;
	}
   });
});
iv').animate("margin-left",""+i+"px");
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2013, 21:44
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Спасибо. Вроде небольшой эффект есть.
Ответить с цитированием
  #4 (permalink)  
Старый 31.01.2013, 22:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<!DOCTYPE html>
  <html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <title> - jsFiddle demo</title>
      <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>
      <link rel="stylesheet" type="text/css" href="/css/normalize.css">
      <link rel="stylesheet" type="text/css" href="/css/result-light.css">
      <style type="text/css">
    div{
    height: 20px;
    width: 20px;
    background-color: red;
}
  </style>
      <script type="text/javascript">
var i = 0;
var deLtaI=6;
var delay=parseInt(deLtaI*3.6);

    $(document).keydown(function(event) {
	if(event.which == 39){
	     $('div').stop(true).animate({"margin-left":""+i+"px"},delay,'linear',function() {
	     i+=deLtaI;});
	}
   });

</script>
    </head>
    <body style="">
      <div></div>
    </body>
  </html>

Последний раз редактировалось Deff, 31.01.2013 в 22:43.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
как реализовать передачу функции в функцию?? czp Общие вопросы Javascript 10 29.11.2011 19:21
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
JS классы - как объединить функции в класс olga153b Events/DOM/Window 3 01.11.2011 14:13
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56