Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何停止预加载javascript数组的图像_Javascript_Html_Arrays - Fatal编程技术网

如何停止预加载javascript数组的图像

如何停止预加载javascript数组的图像,javascript,html,arrays,Javascript,Html,Arrays,我正在尝试建立一个移动图像库 我已将图像存储到数组(照片数组)中 它工作正常,只是它正在预加载阵列的所有图像。我不想预加载图像,只有在调用函数forward或backward后才开始加载图像 我已经在UC browse和google chrome中尝试了这些代码。在UC浏览器中,它不会预加载图像,但在chrome浏览器中会预加载图像 视图代码 Javascript 函数setImage(imageURL){ document.getElementById('myimage').style.di

我正在尝试建立一个移动图像库

我已将图像存储到数组(照片数组)中

它工作正常,只是它正在预加载阵列的所有图像。我不想预加载图像,只有在调用函数forward或backward后才开始加载图像

我已经在UC browse和google chrome中尝试了这些代码。在UC浏览器中,它不会预加载图像,但在chrome浏览器中会预加载图像

视图代码

Javascript

函数setImage(imageURL){
document.getElementById('myimage').style.display='none';
document.getElementById('limg').style.display='block';
document.images.myimage.src=imageURL;setTimeout('doWhileLoading()',100);
}
函数doWhileLoading(){
if(document.images.myimage.complete){
document.getElementById('myimage').style.display='block';
document.getElementById('limg').style.display='none';
}否则{
setTimeout('doWhileLoading()',100);
}
}
函数forward(){
如果(which1){
其中--;
setImage(照片[其中]);
}
}
HTML


请在问题中插入代码,外部来源可能会被移动、删除,使问题与进一步讨论无关reading@Kaiido好的,我将代码从外部链接移到问题。我建议您重新开始。其中是定义的
。为什么当用户单击“前进”或“后退”时,会触发setTimeout以每秒更改图像10次?你到底想做什么?你甚至没有定义任何数组,
document.images
是文档中
img
的HTML集合;因为您填充了
img
元素,所以它们当然会被加载。“Which”值是一个整数值,我使用php get从url中获取
<script>
    function setImage(imageURL){
       document.getElementById('myimage').style.display='none';
       document.getElementById('limg').style.display='block';
       document.images.myimage.src=imageURL; setTimeout('doWhileLoading()',100);
    }
    function doWhileLoading(){
        if(document.images.myimage.complete){
            document.getElementById('myimage').style.display='block';
            document.getElementById('limg').style.display='none';
        } else{
            setTimeout('doWhileLoading()',100);
        }
    }
    function forward(){
        if(which<photos.length-1){
           which++;
           setImage(photos[which]);
        }
    }
    function backward(){
        if(which>1){
            which--;
            setImage(photos[which]);
        }
    }
</script>
<div id='load'>
    <img src='files/971220/load1.gif'id='limg'><img src='mk1.jpg'name='myimage'id='myimage'>
</div>
<a href='#'onclick='backward();return false'>prev</a>
<a href='#'onclick='forward();return false'>next</a>