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 все нормально. Что это может быть? |
Вставить перед запуском animate строки alert(W + 'px') и alert(H + 'px'), посмотреть, чему равны эти строки. Чудес не бывает (:
Кстати, а 'px' обязательно добавлять? jQuery, вроде, по умолчанию их приписывает к числам. $(Arr) - лишнее, Arr - это уже jQuery-элемент, можно сразу Arr.each. |
Цитата:
Broken ищи где отваливаются W и H alert ом как найдешь отпишись.. |
Спасибо всем.
Терялось еще в той функции, откуда был вызов, причем по разным причинам для “Chrome” хватило обработчика: load, а “IE” упорно не хочет видеть размеры изображений в скрытом div. Отсюда вопрос: если у div стоит display:none;, а внутри лежат некие изображения, можно ли получить их реальные размеры в браузере “IE” Делал так: //во всех браузерах 0 this.width(); this.height(); И так: //работает везде, кроме IE this.width this.height Или вообще забить на это и сделать иначе? |
Часовой пояс GMT +3, время: 20:03. |