Это не так, я проверил методом 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.
|