Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Chrome и IE не видят переменную внутри animate. (https://javascript.ru/forum/jquery/33430-chrome-i-ie-ne-vidyat-peremennuyu-vnutri-animate.html)

Broken 23.11.2012 08:19

Chrome и IE не видят переменную внутри animate.
 
Впервые столкнулся с подобным, есть примерно такой код:

var anim = function () {
	 var i = 0;
	 var Arr = $('#someid').children('img');
	    $(Arr).each(function () { 
			$(this).animate({
			   'width': W+'px',  
			   'height': H+'px', 
			   }, 1000,  "swing");
			i++; 
		  });
	   }



Браузеры Chrome и IE не хотят выполнять, причем если написать так, все ок:
$(this).animate({'width': '100px',




В Opera, Firefox все нормально.
Что это может быть?

Sanda 23.11.2012 10:03

Вставить перед запуском animate строки alert(W + 'px') и alert(H + 'px'), посмотреть, чему равны эти строки. Чудес не бывает (:
Кстати, а 'px' обязательно добавлять? jQuery, вроде, по умолчанию их приписывает к числам.
$(Arr) - лишнее, Arr - это уже jQuery-элемент, можно сразу Arr.each.

Tek 23.11.2012 12:51

Цитата:

Сообщение от Sanda (Сообщение 217385)
Вставить перед запуском animate строки alert(W + 'px') и alert(H + 'px'), посмотреть, чему равны эти строки. Чудес не бывает (:
Кстати, а 'px' обязательно добавлять? jQuery, вроде, по умолчанию их приписывает к числам.
$(Arr) - лишнее, Arr - это уже jQuery-элемент, можно сразу Arr.each.

Обязательно, иногда без px свойства не срабатывают.

Broken ищи где отваливаются W и H alert ом как найдешь отпишись..

Broken 24.11.2012 03:20

Спасибо всем.

Терялось еще в той функции, откуда был вызов, причем по разным причинам для “Chrome” хватило обработчика: load, а “IE” упорно не хочет видеть размеры изображений в скрытом div.

Отсюда вопрос: если у div стоит display:none;, а внутри лежат некие изображения, можно ли получить их реальные размеры в браузере “IE”

Делал так:
//во всех браузерах 0
this.width();
this.height();


И так:
//работает везде, кроме IE
this.width 
this.height


Или вообще забить на это и сделать иначе?


Часовой пояс GMT +3, время: 20:03.