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

Это не так, я проверил методом alert; написал alert(c) в событии click и кликнул по элементу. значение "с" - определяется. но не изменяется вне события click. animate получает 5 разных значений при каждой отработке цикла : X+=c (проверял задавая ненулевое значение "с").тут наверно вопрос видимости переменной.переписал скрипт по-другому:

<script type="text/javascript">
var c=0;
var X=0;
var a=0;
var b=0;
$(document).ready(function(){
for(i=0;i<5;i++)
{
$("#div1").click(function(e){
a = e.pageX - this.offsetLeft;
b = e.pageY - this.offsetTop;
c=a+b;
})
X+=c;
$('#div1').animate( {left:X+"px"}, 5000);
}
})
</script>

вынес объявление переменных из события ready, она стала типа глобальной или не знаю как правильно тут сказать, но все равно код не работает.

Последний раз редактировалось stalker77, 30.10.2011 в 20:34.
Ответить с цитированием