【发布时间】:2023-03-11 15:18:01
【问题描述】:
我是根据:Controlling image load order in HTML写的
我用'.attr'函数替换了'src'变化,它不能再回调了。换一次就停了:
此行:I.src = imgAddresses[counter];
进入这个:$("#page"+counter).attr("data-bgimage",imgAddresses[counter]);
你能帮帮我吗?非常感谢!
HTML:
<div id="intro" class="slidingSpaces demo0" data-bgimage='' title="Intro">
<p>Hello</p>
<div id="page0" class="slidingSpaces demo0" data-bgimage='' title="Cover">
</div>
<div id="page1" class="slidingSpaces demo0" data-bgimage='' title="01">
</div>
<div id="page2" class="slidingSpaces demo0" data-bgimage='' title="02">
</div>
JS:
var imgAddresses = ['img1.png','img2.png','img3.png'];
function loadImage(counter) {
//Break out if no more images
if(counter==imgAddresses.length) { return; }
//Grab an image obj
var I = document.getElementById("page"+counter);
//Monitor load or error events, moving on to next image in either case
I.onload = I.onerror = function() { loadImage(counter+1); },
//Change source (then wait for event)
$("#page"+counter).attr("data-bgimage",imgAddresses[counter]);
}
loadImage(0);
注意:“data-bgimage”来自FerroSlider jQuery Plugin. div 必须将其用于背景图像。
【问题讨论】:
-
应该是
$("#page"+counter).attr("src",imgAddresses[counter]); -
回调在哪里?
-
@Think Different:抱歉,div 使用“data-bgimage”作为背景图片,所以我不能使用“src”...
-
@gotomanners:它应该在“counter+1”时起作用,但我不知道为什么它停止了。
-
您是在尝试将图像加载到页面中,然后将 FerroSlider 与它们一起使用吗?
标签: javascript jquery