我试图在HTML内容加载之前显示一个加载图像,但由于某些原因,它没有出现在HTML加载之前:
你可以在这里看到它的实际效果:http://www.machinas.com/wip/esprit/games/2013_Spring_game/html/
单击Play >>>开始游戏...然后将其加载到HTML中。
HTML
<div id="loading-image"></div>CSS
#loading-image{
background:url(../img/ajax-loader.gif) no-repeat 0 0;
position:absolute;
top:50%;
left:50%;
width:16px;
height:16px;
margin-left:-8px;
display:none;
}JQUERY:
$('body').on('click', '.mch-ajax', function(e){
e.preventDefault();
$('#mch-overlay').fadeOut(300);
$( ".content" ).load("game.html", function() {
$("#loading-image").show();
var myBackgroundImage = new Image();
myBackgroundImage.src = "http://www.machinas.com/wip/esprit/games/2013_Spring_game/html/img/bg-map.png";
myBackgroundImage.onload = function () {
$("#loading-image").hide();
$( ".map" ).fadeIn(300);
$( ".note" ).delay(400).fadeIn(700);
$( ".route" ).delay(800).fadeIn(700);
$( ".start-btn" ).delay(1200).fadeIn(700);
};
});
});发布于 2013-02-20 19:58:18
发布到.load()的第二个参数是回调,该回调在内容加载后执行。在调用.load()之前,您只需移动加载图像逻辑即可。
$('body').on('click', '.mch-ajax', function(e){
e.preventDefault();
$('#mch-overlay').fadeOut(300);
$("#loading-image").show();
$( ".content" ).load("game.html", function() {
var myBackgroundImage = new Image();
myBackgroundImage.src = "http://www.machinas.com/wip/esprit/games/2013_Spring_game/html/img/bg-map.png";
myBackgroundImage.onload = function () {
$("#loading-image").hide();
$( ".map" ).fadeIn(300);
$( ".note" ).delay(400).fadeIn(700);
$( ".route" ).delay(800).fadeIn(700);
$( ".start-btn" ).delay(1200).fadeIn(700);
};
});
});https://stackoverflow.com/questions/14979247
复制相似问题