페이지가로드되는 동안 "로딩"자리 표시 자 상자를 표시하려면 페이지 상단에 포함시킬 수있는 js 파일을 찾았습니다. 문제는 차트와 같은 다른 요소를로드하는 데 오래 걸리면 차트가로드되지 않아도이 자리 표시자가 페이지에 표시되지 않습니다. 모든 요소를 포함하여 페이지의 100 %가로드 될 때까지이 자리 표시자를 유지하도록이 코드를 수정하는 방법이 있습니까? 모두로드 될 때까지로드 진행률을 표시하는 브라우저와 유사합니다.미리로드 페이지 자리 표시 자 jQuery 플러그인
다음은이 JS 파일에 대한 코드입니다 :
var jQueryLoaderOptions = null;
(function(a) {
a.loader = function(d) {
switch (d) {
case "close":
if (jQueryLoaderOptions) {
if (a("#" + jQueryLoaderOptions.id)) {
a("#" + jQueryLoaderOptions.id + ", #" + jQueryLoaderOptions.background.id).remove()
}
}
return;
break;
case "setContent":
if (jQueryLoaderOptions) {
if (a("#" + jQueryLoaderOptions.id)) {
if (a.loader.arguments.length == 2) {
a("#" + jQueryLoaderOptions.id).html(a.loader.arguments[1])
} else {
if (console) {
console.error("setContent method must have 2 arguments $.loader('setContent', 'new content');")
} else {
alert("setContent method must have 2 arguments $.loader('setContent', 'new content');")
}
}
}
}
return;
break;
default:
var b = a.extend({
content: "<div>Loading ...</div>",
className: "loader",
id: "jquery-loader",
height: 70,
width: 70,
zIndex: 30000,
background: {
opacity: 0.4,
id: "jquery-loader-background"
}
}, d)
}
jQueryLoaderOptions = b;
var c = a(document).height();
var e = a(window).width();
var g = a('<div id="' + b.background.id + '"/>');
g.css({
zIndex: b.zIndex,
position: "absolute",
top: "0px",
left: "0px",
width: e,
height: c,
opacity: b.background.opacity
});
g.appendTo("body");
if (jQuery.bgiframe) {
g.bgiframe()
}
var f = a('<div id="' + b.id + '" class="' + b.className + '"></div>');
f.css({
zIndex: b.zIndex + 1,
width: b.width,
height: b.height
});
f.appendTo("body");
f.center();
a(b.content).appendTo(f)
};
a.fn.center = function() {
this.css("position", "absolute");
this.css("top", (a(window).height() - this.outerHeight())/2 + a(window).scrollTop() + "px");
this.css("left", (a(window).width() - this.outerWidth())/2 + a(window).scrollLeft() + "px");
return this
}
})(jQuery);
과 같이 호출 :
이$(".preloader").click(function(){ $.loader({ className:"ajLoad", content:"" }); });
일에 대해 코드를하려고하는 ... 그 창, 뭔가 등으로 부하 문 참조를 사용할 수 있습니까? – genesis
죄송합니다, 무슨 뜻인지 모르겠습니다. 페이지의 모든 요소가 100 %로드 될 때까지 표시 할 자리 표시자가 필요합니다 ... – santa
표시되는로드 진행률은 브라우저마다 다릅니다. 예를 들어 일부 브라우저 (예 : Safari)는 AJAX 호출 (예 : 백그라운드로드)에 대한로드 진행률을 표시하지만 Firefox는 그렇지 않습니다. 따라서로드 진행률을 표시하기 위해 어떤 요소를 사용할지 결정됩니다. –