Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Анимация изображения по частям (https://javascript.ru/forum/css-html-internet-explorer/11315-animaciya-izobrazheniya-po-chastyam.html)

exec 17.08.2010 20:08

Анимация изображения по частям
 
Суть скрипта: разбиваем изображение на несколько вертикальных полосок и анимируем их по очереди.

Имеется вот такой код:

(function ( $ ) {
	$.fn.fadeQueue = function ( parts ) {
		parts = parts || 10;
		return this.each(function ( i, g ) {
			var wdt = $(this).width(),
			wrapper = '<div>';
			for ( var i = 0; i < parts; i++ ) {
				wrapper += '<div style="float:left;overflow: hidden; width: '+(wdt/parts)+'px;"><img src="'+this.src+'" style="margin-left: -'+ ((wdt/parts)*i) +'px" /></div>';
			}
			wrapper += '</div>';
			wrapper = $( wrapper );
			$('div', wrapper).each(function ( i ) {
				$(this).animate({opacity: 0.3}, i * 300).animate({opacity: 1}, i * 300, function () {
					if ( i === parts - 1 ) {
						$(g).show().next().remove();
					}
				});
			});
			$(this).hide().after( wrapper );
		});
	}
})( jQuery );


Проблема заключается в том, что изображения в формате PNG во время анимации искажаются (пример: http://s42.radikal.ru/i098/1008/97/9481b6716dc3.jpg, во время анимации http://i078.radikal.ru/1008/73/c1c91ae54c60.jpg). Если же использовать другой формат, то в начале и конце анимации наблюдается небольшой сдвиг по ширине ~20px. Из-за чего это случается и как исправить?

x-yuri 18.08.2010 08:03

может быть дело в изображении? Попробуй с другим

exec 18.08.2010 08:21

Пробовал, всё то же самое.

x-yuri 18.08.2010 13:22

прикрепи архив со всем нужными файлами, посмотрю

p.s. твой скрипт взрывает мой моск ;)

exec 18.08.2010 13:44

http://qlib.ucoz.ru/s.html

inGray 18.08.2010 13:58

Везде акромя IE работает хорошо) А в ие ну оооочень напоминает фокус выделения... ??

digital_sword 20.08.2010 11:37

У меня точно такая же проблема в ie7,8 на сайте http://ufavodresurs.ru . Вы как-то решили?

x-yuri 21.08.2010 17:19

я же говорю в картинке дело (и баге ie). Убери прозрачность из картинки (подложи нужный фон)

digital_sword 21.08.2010 19:08

Там же текстура, просто так не подложишь (не совпадет рисунок).
Насчет картинки: сохранял сначала в обыном png, потом в png-24 (для web). Разницы никакой, чернота при смене.

Без подложки фона есть решение? Смена картинок: супер частый эффект. Неужели нет решения?

Octane 21.08.2010 19:36

Для изображений с альфа каналом нету.


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