Witam,mam sobie taką oto stronkę strona główna-portfolio
strona główna.Preloader pobrałem ze strony
http://www.gayadesign.com/diy/queryloader2...ages-with-ease/ jak widać loader ładuje się przy wejściu na stronę główną,natomiast problem w tym ze robi to za każdym razem np jak przeskoczę do zakładki galeria a następnie z powrotem na główna preloader znowu się ładuje a ja chciałbym aby ładował się tylko raz przy pierwszym uruchomieniu strony i ewentualnie przy odswiezaniu.Czy ktoś ma pomysł jak temu zaradzić ? Pzdr
Kod skryptu
<script type="text/javascript"> $(document).ready(function () {
$("body").queryLoader2();
});
(function($) {
var qLimages = new Array;
var qLdone = 0;
var qLimageContainer = "";
var qLoverlay = "";
var qLbar = "";
var qLpercentage = "";
var qLimageCounter = 0;
var qLoptions = {
onComplete: function () {},
backgroundColor: "#000",
barColor: "#fff",
barHeight: 2,
percentage: true,
deepSearch: true,
completeAnimation: "fade",
onloadComplete: function () {
if (qLoptions.completeAnimation == "grow") {
$(qLbar).stop().css("width", "100%").animate({
top: "0%",
height: "100%"
}, 500, function () {
$(qLoverlay).fadeOut(900, function () {
$(this).remove();
qLoptions.onComplete();
})
});
} else {
$(qLoverlay).fadeOut(1200, function () {
$(qLoverlay).remove();
qLoptions.onComplete();
});
}
}
}
var afterEach = function () {
createPreloadContainer();
createOverlayLoader();
}
var createPreloadContainer = function() {
qLimageContainer = $("
<div></div>").appendTo("body").css({
display: "none",
width: 0,
height: 0,
overflow: "hidden"
});
for (var i = 0; qLimages.length > i; i++) {
$.ajax({
url: qLimages[i],
type: 'HEAD',
success: function(data) {
qLimageCounter++;
addImageForPreload(this['url']);
}
});
}
}
var addImageForPreload = function(url) {
var image = $("
<img />").attr("src", url).bind("load", function () {
completeImageLoading();
}).appendTo(qLimageContainer);
}
var completeImageLoading = function () {
qLdone++;
var percentage = (qLdone / qLimageCounter) * 100;
$(qLbar).stop().animate({
width: percentage + "%"
}, 200);
if (qLoptions.percentage == true) {
$(qLpercentage).text(Math.ceil(percentage) + "%");
}
if (qLdone == qLimageCounter) {
destroyQueryLoader();
}
}
var destroyQueryLoader = function () {
$(qLimageContainer).remove();
qLoptions.onloadComplete();
}
var createOverlayLoader = function () {
qLoverlay = $("
<div id='qLoverlay'></div>").css({
width: "100%",
height: "100%",
backgroundColor: qLoptions.backgroundColor,
backgroundPosition: "fixed",
position: "fixed",
zIndex: 666999,
top: 0,
left: 0
}).appendTo("body");
qLbar = $("
<div id='qLbar'></div>").css({
height: qLoptions.barHeight + "px",
marginTop: "-" + (qLoptions.barHeight / 2) + "px",
backgroundColor: qLoptions.barColor,
width: "0%",
position: "absolute",
top: "50%"
}).appendTo(qLoverlay);
if (qLoptions.percentage == true) {
qLpercentage = $("
<div id='qLpercentage'></div>").text("0%").css({
height: "40px",
width: "100px",
position: "absolute",
fontSize: "3em",
top: "50%",
left: "50%",
marginTop: "-" + (59 + qLoptions.barHeight) + "px",
textAlign: "center",
marginLeft: "-50px",
color: qLoptions.barColor
}).appendTo(qLoverlay);
}
}
var findImageInElement = function (element) {
var url = "";
if ($(element).css("background-image") != "none") {
var url = $(element).css("background-image");
} else if (typeof($(element).attr("src")) != "undefined" && element.nodeName.toLowerCase() == "img") {
var url = $(element).attr("src");
}
if (url.indexOf("gradient") == -1) {
url = url.replace(/url\(\"/g, "");
url = url.replace(/url\(/g, "");
url = url.replace(/\"\)/g, "");
url = url.replace(/\)/g, "");
var urls = url.split(", ");
for (var i = 0; i < urls.length; i++) {
if (urls[i].length > 0) {
var extra = "";
if ($.browser.msie && $.browser.version < 9) {
extra = "?" + Math.floor(Math.random() * 3000);
}
qLimages.push(urls[i] + extra);
}
}
}
}
$.fn.queryLoader2 = function(options) {
if(options) {
$.extend(qLoptions, options );
}
this.each(function() {
findImageInElement(this);
if (qLoptions.deepSearch == true) {
$(this).find("*:not(script)").each(function() {
findImageInElement(this);
});
}
});
afterEach();
return this;
};
})(jQuery);
Ten post edytował pantera366 10.03.2012, 21:02:17