Две проблемы jquery с анимацией и данными - PullRequest
0 голосов
/ 16 января 2010

Я работаю над фотогалереей. Первая проблема, с которой я столкнулся, связана с $.data. Когда я настраиваю изображения через свой плагин, я делаю это:

$('.img').each(function(){
  $(this).data('original', { width:$(this).width(), height:$(this).height() });
});

Затем, когда я хочу анимировать изображение в полном размере, я делаю это:

$(this).animate({ 'width':$(this).data('original').width, 'height':$(this).data('original').height });

Теперь это отлично работает в Internet Explorer и Firefox, но я только что проверил в Safari и Chrome, и значения равны нулю, но в Firefox и, следовательно, он имеет правильную ширину и высоту. Любые идеи о том, почему это будет происходить?

Вторая проблема - это анимация прокрутки в Internet Explorer. В основном все, что у меня есть, - это обертка с переполнением: скрытый и контейнер внутри нее, в котором хранятся строки галереи (в которых содержится около 50 изображений). Теперь у меня есть 2 кнопки для следующего и предыдущего. Код для них в основном это:

$('#container').animate({ 'left':'+=400px' }, 2000);

Теперь в Google Chrome и Safari эта анимация работает прекрасно. В Firefox это немного вяло, но я не мог жить с этим. Однако в IE вы даже не видите анимацию. Все, что вы действительно можете увидеть, это перейти к почти последней позиции анимации, а затем просто немного переместиться (чтобы достичь конца). Любые идеи о том, что может вызвать это?

1 Ответ

1 голос
/ 16 января 2010

Первая часть вашего вопроса уже была отвечена .

Я думаю, что вторая часть вашего вопроса происходит потому, что известно, что IE медленнее манипулирует DOM.

...