预加载程序div不会再次淡出-jQuery
我在一个简单的html页面上有一个预加载div。加载页面时,它会淡出。 当我重新加载图像时,它不会再次消失,我如何“重置”预加载程序 HTML jQuery:预加载程序div不会再次淡出-jQuery,jquery,html,fadeout,preloader,Jquery,Html,Fadeout,Preloader,我在一个简单的html页面上有一个预加载div。加载页面时,它会淡出。 当我重新加载图像时,它不会再次消失,我如何“重置”预加载程序 HTML jQuery: $(function () { function loader(){ $("#preloader").css({'display':'block'}); $(window).load(function() { $("#preloader").fadeOut(); }
$(function () {
function loader(){
$("#preloader").css({'display':'block'});
$(window).load(function() {
$("#preloader").fadeOut();
});
}; //loader
loader();
/* I reload the images on click (image names are 1, 2, 3, 4, 5, 6....) */
$('#reload').click(function(){
loader(); /// <<< preloader div not fades out again
// change images
i1 += 3;
i2 += 3;
i3 += 3;
$('#k1').css({'background':'url("images/' + i1 + '.jpg")'});
$('#k2').css({'background':'url("images/' + i2 + '.jpg")'});
$('#k3').css({'background':'url("images/' + i3 + '.jpg")'});
});
});
无法测试这一点,因为您没有包含足够的代码,但我猜当您按下重新加载按钮时,这只会影响包含图像的div 此函数还调用加载程序函数,该函数告诉预加载程序设置为block,然后调用隐藏它$window.loadfunction{};无法运行,因为您的页面已加载 更新 我不确定您是否可以对div运行.load检查,因为按下按钮时您只是将图像插入其中,了解jquery更多的人可以为您回答这个问题。但我在下面所做的只是直接调用预加载上的display,然后向它添加一个已加载的类。if语句只是检查它是否有这个类,如果有,它会再次淡出这个类
$('#reload').click(function(){
$("#preloader").css({'display':'block'});
$("#preloader").addClass( "loaded" );
$('#k1').css({'background':'url("http://placehold.it/300")'});
if ($("#preloader").hasClass( "loaded" ) ) {
$("#preloader").fadeOut();
}
});
更新2
我很好奇,看看什么是可以调用的。加载,它可以在和上完成
是的,当您按下按钮时,它会为列表项背景加载新图像。如何为.load函数选择这些图像?使用一些可能适合您的jquery更新了答案,就像我在其中所说的,不确定您是否可以检查是否加载了div。谢谢您考虑了我的问题!我认为正确的方法应该是在重新加载图像时使用一些ajax调用,这样我就可以为传入的数据或类似的东西制作一个预加载程序。我是这方面的初学者,但我会考虑的。再次非常感谢!我自己还在学习jquery的细节,很想看看用.load可以做些什么。似乎可以用.load检查img标记。所以如果证明有帮助,上面做了一个小的更新。
$('#reload').click(function(){
$("#preloader").css({'display':'block'});
$("#preloader").addClass( "loaded" );
$('#k1').css({'background':'url("http://placehold.it/300")'});
if ($("#preloader").hasClass( "loaded" ) ) {
$("#preloader").fadeOut();
}
});
$('#reload').click(function(){
$("#preloader").css({'display':'block'});
$('#mainImg').attr('src', 'http://placehold.it/300');
$('#mainImg').load(function(){
$("#preloader").fadeOut();
});
});