Задать вопрос
dron_4r
@dron_4r
Пытаюсь сделать мир лучше...

Что не так с скриптом?

Всем привет! У меня есть скрипт который как бы показывает загрузку страницы сайта, так вот почему он не работает в IE и Mozila, скрипт останавлевается на загрузки 8%. В Chrome все нормально.
Заранее спасибо!

overlay: "",
	loadBar: "",
	preloader: "",
	items: new Array(),
	doneStatus: 0,
	doneNow: 0,
	selectorPreload: "body",
	ieLoadFixTime: 2000,
	ieTimeout: "",
		
	init: function() {
		if (navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/) == "MSIE 6.0,6.0") {
			//break if IE6			
			return false;
		}
		if (QueryLoader.selectorPreload == "body") {
			QueryLoader.spawnLoader();
			QueryLoader.getImages(QueryLoader.selectorPreload);
			QueryLoader.createPreloading();
		} else {
			$(document).ready(function() {
				QueryLoader.spawnLoader();
				QueryLoader.getImages(QueryLoader.selectorPreload);
				QueryLoader.createPreloading();
			});
		}
		
		//help IE drown if it is trying to die :)
		QueryLoader.ieTimeout = setTimeout("QueryLoader.ieLoadFix()", QueryLoader.ieLoadFixTime);
	},
		
	ieLoadFix: function() {
		if(jQuery.browser.msie){
			while ((100 / QueryLoader.doneStatus) * QueryLoader.doneNow < 100) {
				QueryLoader.imgCallback();
			}
		}
	},
	
	imgCallback: function() {
		QueryLoader.doneNow ++;
		QueryLoader.animateLoader();
	},
	
	getImages: function(selector) {
		var everything = $(selector).find("*:not(script)").each(function() {
			var url = "";
			
			if ($(this).css("background-image") != "none") {
				var url = $(this).css("background-image");
			} else if (typeof($(this).attr("src")) != "undefined" /*&& $(this).attr("tagName").toLowerCase() == "img"*/) {
				var url = $(this).attr("src");
			}
			
			url = url.replace("url(\"", "");
			url = url.replace("url(", "");
			url = url.replace("\").html", "");
			url = url.replace(")", "");
			
			if (url.length > 0) {
				QueryLoader.items.push(url);
			}
		});
	},
	
	createPreloading: function() {
		QueryLoader.preloader = $("<div></div>").appendTo(QueryLoader.selectorPreload);
		$(QueryLoader.preloader).css({
			height: 	"0px",
			width:		"0px",
			overflow:	"hidden"
		});
		
		var length = QueryLoader.items.length; 
		QueryLoader.doneStatus = length;
		
		for (var i = 0; i < length; i++) {
			var imgLoad = $("<img></img>");
			$(imgLoad).attr("src", QueryLoader.items[i]);
			$(imgLoad).unbind("load");
			$(imgLoad).bind("load", function() {
				QueryLoader.imgCallback();
			});
			$(imgLoad).appendTo($(QueryLoader.preloader));
		}
	},

	spawnLoader: function() {
		var height = $(window).height();
		var width = $(window).width();
		var position = "fixed";
			
		var left = $(QueryLoader.selectorPreload).offset()['left'];
		var top = $(QueryLoader.selectorPreload).offset()['top'];
		
		QueryLoader.overlay = $("<div></div>").appendTo($(QueryLoader.selectorPreload));
		$(QueryLoader.overlay).addClass("QOverlay");
		
		QueryLoader.loadBar = $('<div class="QLoader"></div>').appendTo($(QueryLoader.overlay));
		$("#loader").appendTo($(QueryLoader.overlay));
		
		$(QueryLoader.loadBar).css({
			position: "relative",
			top: "0",
			width: "0"
		});
	},
	
	animateLoader: function() {
		var perc = (100 / QueryLoader.doneStatus) * QueryLoader.doneNow;
		var szerokoscOkna = $('.QOverlay').width();
		
		var okrag = $('#loader .circle');
		var lewaStrona = okrag.find('.rotate.left');
		var prawaStrona = okrag.find('.rotate.right');			
		var counter = $('#loader .display');		
				
		zakonczone = 0;	
		if(zakonczone == 0) {
			if(QueryLoader.selectorPreload == 'body' ) {
				$('#loader .c').css('background-color','rgba(28, 25, 24, '+perc/100+')')
			}
			if(rotate(okrag, lewaStrona, prawaStrona, perc, counter)) {	
				QueryLoader.doneLoad();
				zakonczone == 1
			}
		}
		
	},
	
	doneLoad: function() {
		clearTimeout(QueryLoader.ieTimeout);
		if(QueryLoader.selectorPreload == 'body' ) {
			$('body, html').scrollTop(0);
			$('#welcome').addClass('hide');
			$('#loader').find('.d').addClass('small');
			sprawdzenieRozmiaru('resize');
			$('#loader').doTimeout(250, function() {
				$(this).addClass('animation').find('.circle').animate({opacity: 0}, 500, function() {
					$('.QOverlay').css('background-color','#1C1918').fadeOut(500, function() {
						rozpoczecie();
						$(QueryLoader.preloader).remove();
						$(this).remove();
					})
				})
			})
		} else {
			if($(QueryLoader.selectorPreload).find('.QOverlay').length>1) $(QueryLoader.selectorPreload).find('.QOverlay:first').remove();
			$('#loader').animate({opacity: 0}, 500, function() {
				$('.QOverlay').fadeOut(750, function() {
					pozycjaBoxa();
					$(QueryLoader.preloader).remove();
					dzialanie = 0;
				})
			})
		}
	}
}
  • Вопрос задан
  • 381 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽