我正在使用 Jimdo 并且有一个给定的 div(包含 3 个子 div,我认为这是我的一般问题,但我不确定)我在浏览器中发现:
<div class="jtpl-background-area jqbga-container jqbga-web--image" background-area="" style="background-image: url('https://image.jimcdn.com/app/cms/image/transf/dimension=767x/path/s4354a59fbfee63e4/backgroundarea/ibb91266a7f033fa3/version/1529172695/image.jpg');background-position: 54.0833% 41.0025%;"></div>
加载背景图像后如何触发函数?
我已经花了几个小时在这上面,尝试了很多我在这里找到的方法或像 waitforimages 这样的工具 - 仍然没有成功。Jimdo / 这个 div 是怎么回事?加载背景图像后如何触发某些内容?
var src = $('.jtpl-background-area').css('background-image');
var url = src.match(/\((.*?)\)/)[1].replace(/('|")/g,'');
var img = new Image();
img.onload = function() {
$('.jtpl-background-area').css('-webkit-animation', 'fadein 4s');
}
img.src = url;
if (img.complete) img.onload();
不起作用。
$('.jtpl-background-area').waitForImages(true).done(function() {
$('.jtpl-background-area').css('-webkit-animation', 'fadein 4s');
});
不起作用(waitforimages-script 包含正确并且 .jtpl-background-area 的不透明度在 css 中设置为 0)。
有任何想法吗?
$(window).on('load', function() {
$(".jtpl-background-area").css('-webkit-animation', 'fadein 4s');
});
导致背景经常出现得太晚。当图片仍未准备好/完全加载时显示页面。
-
编辑:
关于 Scott Marcus 和 'adeneo' 的答案(等待 CSS 中的背景图像完全加载):
$(window).on('load', function() {
$(".jtpl-background-area jqbga-container jqbga-web-
image").ready(function() {
$(".jtpl-background-area").velocity({ opacity: 1 },{ duration: 3000});
})
});
这在这里“有效”-但我的背景图像出现得太晚了。但是,如果我交换这个,为什么什么都没有发生
var src = $(".jtpl-background-area jqbga-container jqbga-web-image");
var url = src.match(/\((.*?)\)/)[1].replace(/('|")/g,'');
var img = new Image();
img.onload = function() {
$('.jtpl-background-area').velocity({ opacity: 1 },{ duration: 3000});
}
img.src = url;
if (img.complete) img.onload();
? 我的错误在哪里?为什么这不起作用并使我的页面卡住?它保持白色,并且根本无法使用此代码加载。
或者换句话说 - 我如何得到
var src = $('#test').css('background-image');
var url = src.match(/\((.*?)\)/)[1].replace(/('|")/g,'');
var img = new Image();
img.onload = function() {
alert('image loaded');
}
img.src = url;
if (img.complete) img.onload();
与我的(给定且不变的)一起工作
<div class="jtpl-background-area jqbga-container jqbga-web--image" background-area="" style="background-image: url('https://image.jimcdn.com/app/cms/image/transf/dimension=767x/path/s4354a59fbfee63e4/backgroundarea/ibb91266a7f033fa3/version/1529172695/image.jpg');background-position: 54.0833% 41.0025%;"></div>
确切地?