function loadNextComic()
{
window.scrollTo( 200, 480);
img comic = new Image();
currentComicNumber++;
comic.src="Freqpg"+currentComicNumber+".jpg";
comic.onload = function()
{
document.getElementById("comic").src="Freqpg"+currentComicNumber+".jpg";
document.getElementById("numberOutput").innerHTML=currentComicNumber;
}
comic.onerror =lastComicReached();
}
这段代码的目的是迭代网络漫画页面。如果下一页存在,则应加载该页,并在加载完成后进行显示。如果页面不存在,则代码应调用另一个函数,因为这表明我们可能已经到达档案的末尾。不幸的是,这段代码根本没有效果。甚至滚动功能也会出现问题。
function loadNextComic()
{
window.scrollTo( 200, 480);
//img comic = new Image();
currentComicNumber++;
//comic.src="Freqpg"+currentComicNumber+".jpg";
//comic.onload = function()
// {
document.getElementById("comic").src="Freqpg"+currentComicNumber+".jpg";
document.getElementById("numberOutput").innerHTML=currentComicNumber;
// }
//comic.onerror =lastComicReached();
}
此代码中,img代码已被注释掉,可以正确地进行页面进度,直到当然,我用完所有的页面(这些页面是连续且可靠命名的)。由于这个数字每周都会改变,所以我不能简单地硬编码最后一页的页码。我尝试过查看站点上其他示例后使用img.onerror和onload代码。显然,我一直在像白痴一样摸索。我在几个地方读到异步执行会导致onerror出错,但我认为应该已经考虑到这一点了。
如何使img.onload和onerror函数正常工作?如果代码异步执行,如何进行结构化编程?
img comic = new Image();
, 可能应该改成comic = new Image();
。 - Teemu