2012-04-23 4 views
0

Моя цель - создать универсальную функцию для анимации, которая потребует передать параметры, предполагая, что функция может использоваться для анимации любых элементов.jQuery Анимация - не работает при вызове функции

Я начал с простой анимации, которая не требует прохождения параметров, и кажется, что она работает нормально. Вот код и link

<div id="outer" class="box"> 
    <div id="inner" class="box"></div> 
</div> 
<input type="button" id="animate" value="Animate"/>​  
​$("#inner").animate({left: '+=300', top: '+=300'}, 1000);​ 

но не работает, когда я пытаюсь написать функцию genric ... code

$("#animate").Click(function(){ 
    diagonalAnimation("inner"); 
}); 

function diagonalAnimation(e){ 
$('"#'+e+'"').animate({left: '+=300', top: '+=300'}, 1000); 
} 

ответ

1

jsFiddle (http://jsfiddle.net/5v86F/81/)

<div id="outer" class="box"> 
    <div id="inner" class="box"></div> 
</div> 

<input type="button" id="animate" value="Animate" onclick="animate('inner')"/> 

<script> 
    function animate(item) 
    { 
     $("#" + item).animate({left: '+=300', top: '+=300'}, 1000); 
    } 
</script> 
+0

его не общий функция. Выполняя, как вы сказали, я смогу анимировать только элемент с id = "inner" – Priya

+0

, он является общим, просто установите элемент, который вы хотите оживить, как значение кнопки ...

+0

@ Payne - Спасибо, но что, если я хочу использовать функцию анимации для разных элементов. Как бы я мог повторно использовать эту функцию? – Priya