2013-05-18 4 views
0

У меня есть код javaScript, который сместит div слева направо, изменив его свойство «left» css, когда мышь нажата на div. Код работает отлично. Изначально div's 'left = 0' Предположим, я хочу сместить div в случайное число. Я сделаю это как.JavaScript Анимация: значение измененного свойства после анимации?

function move(){ 
    var final = Math.random()*100 //Lets suppose final gets the value equal to 145 in this case 

    ....code for sliding goes here 

} 

Итак, теперь слева от div должно быть равное 145px.

Теперь, когда я нажимаю на DIV снова, это будет происходить:

function move(){ 
var final = Math.random()*100 //Lets suppose final gets the value equal to 30 in this case 

    ....code for sliding goes here 

} 

Теперь, не следует ДИВ слайд от 145px до 30 пикселей? потому что когда я нажал на div, первый раз его левый стал 145 px и больше не остается 0. В моем случае, что происходит, когда я нажимаю на снова, сначала он возвращается к 0 px, а затем перемещается на 30 пикселей.

+0

Каков ваш код анимации? –

+0

@Kolink Код анимации слишком длинный! Я использую смягчающие эффекты тоже в JAVAscript .. Его слишком длинный, чтобы опубликовать здесь –

+1

как Math.random() * 100 получите вам 145? – Nanz

ответ

0

Это звучит, как это было бы намного легче с переходом:

CSS:

.moving_element {transition:all 0.4s ease; -webkit-transition:all 0.4s ease;} 

(Replace этот класс, как необходимо для вашего кода)

JS:

elem.style.left = Math.random()*100+"px"; 

Это все, что вам нужно. Браузер плавно перемещает элемент из одной позиции в другую за определенное время.

+0

Я хочу сделать это с помощью Javascript, а не с CSS. Я уже знаю, что переходы CSS более легки. Но, изучая JavaScript в данный момент :) –

+0

О, я вижу. * La souris est en-dessous de la table. Le chat est sur la chaise. Et le singe est sur la branche. * –

Смежные вопросы