Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   FF мелькает при смене src через onload (https://javascript.ru/forum/css-html-firefox-mizilla/55960-ff-melkaet-pri-smene-src-cherez-onload.html)

kostyanet 22.05.2015 23:01

FF мелькает при смене src через onload
 
Каноничная схема

onload=function(){
		img_1.src=this.src;
		if(to)
			to=window.setTimeout(play,obj.t*1000);
	},
	play=function(){
		if(curr<m.images.length){
			obj=m.images[curr++];
			var img= new Image();
			img.onload=onload;
			img.src=m.dir+'/'+obj.src;
		}
	},


FF дебильно мигает и ничего ему не помогает. Уменьшил пикселяж картинок на 1024 и никакой интерполяции нет - отвратительно мигает.

Опера и Хром меняю фотки чисто как доктор прописал.

Почему я раньше не замечал таких эффектов у ФФ? Может потому что не делал такое локально?

Это локальный скрипт, точнее начало, там в хтмле объект, в нем массив с объектами, в пропертях - имена файлов, файлы лежат тут же, рядом в папке, собственно грузить ничего и не надо, но на всякий случай я сделал через онлоад - не должно мля мигать, а он начал мигать.

Как это починить?

kostyanet 22.05.2015 23:14

Походу вот что. Этот долбоящер видит типа что протокол file и сразу же сжигает onload, типа, а чо там грузить-то, все ж локально. А потом уже, с обработчика получив src начинает его грузить и рендерить. Потому что я сначала для проверки вообще сделал без онлоада, и нисколько не удивился что мигает, так и должно быть. Но когда завел онлоад, мигание таким же и осталось. Так вот, только если запустить по второму кругу - ничего не мигает, потому что, типа, уже в кеше. Ебалайтен!

kostyanet 22.05.2015 23:25

Все не так, пофигу ему на второй и третий круг. Но если нажать обновить когда только началось - то несколько первых картинок показывает без морганий, потом опять кривеет.

kostyanet 23.05.2015 00:05

Попробовал

document.body.style.backgroundImage='url("'+this.s rc+'")';

мелькает абсолютно точно так же. Что за херня вообще?

kostyanet 01.06.2015 09:20

Забил и нарендерил кина из фоток в Вегасе под музычку.


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