2017-02-05 2 views
0
$(document).ready(function(){ 
$("div[name=animate]").each(function(){ 
    animateDiv($(this)); 
}); 
}); 

function makeNewPosition(){ 

// Get viewport dimensions (remove the dimension of the div) 
var h = $(window).height() - 50; 
var w = $(window).width() - 50; 

var nh = Math.floor(Math.random() * h); 
var nw = Math.floor(Math.random() * w); 

return [nh,nw];  

} 

function animateDiv(c){ 
var newq = makeNewPosition(); 
$(c).animate({ top: newq[0], left: newq[1] }, function(){ 
    animateDiv(c);   
}); 

}; 

http://codepen.io/anush2209/pen/JEZOaG

Это ссылка на проект. Все, что я хочу изменить, чтобы оно было медленнее. Есть ли способ добавить модификатор скорости или что-то, что позволяет вводить значения для управления общим диапазоном скоростей.Как мне сделать это медленнее

+0

Я предполагаю, что вы используете возможности анимации по умолчанию из JQuery (пожалуйста, добавьте полезные теги на вопросы). Вы лучше прочитали [документацию 'animate'] (http://api.jquery.com/animate/), это не то, что для StackOverflow. –

+0

Если бы вы прочитали 'animate' docs – charlietfl

+0

http://codepen.io/anon/pen/EZRbqP, посмотрите на часть JS и найдите переменную скорости. Вот так. В следующий раз прочитайте документацию http://api.jquery.com/animate/ – besciualex

ответ

1

Вы можете просто передать продолжительность как параметр внутри метода анимации.

$(c).animate({ top: newq[0], left: newq[1] }, 3000, function(){ 
     animateDiv(c);   
    }); 

CODEPEN

http://codepen.io/alexincarnati/pen/NdzwQE