Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 为gallery逐个预加载图像?这有什么问题?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 为gallery逐个预加载图像?这有什么问题?

Javascript 为gallery逐个预加载图像?这有什么问题?,javascript,jquery,html,Javascript,Jquery,Html,我想制作一个JavaScript(jQuery),HTML库,它有大约60张图片。我要他们一个接一个地装。它们被命名为1.jpg,2.jpg,3.jpg。。。等等 所以我开始做一个 这包含实际加载的图像,我给它一个带有脚本的src,然后等待它加载,然后给它的真正目的地相同的src: 完成后,我开始加载第二张图片。我该怎么做 我试着用递归实现它,一个调用自身的函数,但它不会等待图像加载。我用了这个: $("#loader").attr("src",pic); $("#loader").re

我想制作一个JavaScript(jQuery),HTML库,它有大约60张图片。我要他们一个接一个地装。它们被命名为1.jpg,2.jpg,3.jpg。。。等等

所以我开始做一个
这包含实际加载的图像,我给它一个带有脚本的src,然后等待它加载,然后给它的真正目的地相同的src:

完成后,我开始加载第二张图片。我该怎么做

我试着用递归实现它,一个调用自身的函数,但它不会等待图像加载。我用了这个:

$("#loader").attr("src",pic);   
$("#loader").ready(function(){$("#a"+active).attr("src",pic);   

您可以使用从JS代码加载图像

var img = new Image();

img.onload = function() {
    // do stuff after image is loaded
};

img.src = pic_url;
更新 JS函数存根和用法示例

<script>
function load_image(img_url)
{
    // show overlay, spinner, whatever

    var img = new Image();
    img.onload = function() {
        // add <img> tag
        // hide overlay, spinner, whatever
    };
    img.src = img_url;
}
</script>

<a href="jaavscript:load_image('/images/test.jpg');">load image</a>

函数加载\u图像(img\u url)
{
//显示覆盖、微调器等
var img=新图像();
img.onload=函数(){
//加

您可以使用

var img = new Image();

img.onload = function() {
    // do stuff after image is loaded
};

img.src = pic_url;
更新 JS函数存根和用法示例

<script>
function load_image(img_url)
{
    // show overlay, spinner, whatever

    var img = new Image();
    img.onload = function() {
        // add <img> tag
        // hide overlay, spinner, whatever
    };
    img.src = img_url;
}
</script>

<a href="jaavscript:load_image('/images/test.jpg');">load image</a>

函数加载\u图像(img\u url)
{
//显示覆盖、微调器等
var img=新图像();
img.onload=函数(){
//加

您可以使用图片的onload事件。但是,如果您的图像被缓存,它将无法工作,因此您可以使用它:

$('img[id|="a"]').each(function() {
    if(this.complete) $(this).trigger('load');
});

var doOnLoad=function(){
    var id=parseInt($(this).attr('id').substr(1));
    $(this).removeClass("active_pic");
    id++;
    $('#a'+id).attr("src",pic[id]).one('load', doOnLoad).addClass("active_pic");
};

$(".active_pic").one('load', doOnLoad);

pic必须是一个数组,id作为键,src作为值。

您可以使用图片的onload事件。但是,如果您的图像被缓存,它将无法工作,因此您可以使用它:

$('img[id|="a"]').each(function() {
    if(this.complete) $(this).trigger('load');
});

var doOnLoad=function(){
    var id=parseInt($(this).attr('id').substr(1));
    $(this).removeClass("active_pic");
    id++;
    $('#a'+id).attr("src",pic[id]).one('load', doOnLoad).addClass("active_pic");
};

$(".active_pic").one('load', doOnLoad);

pic必须是id为键、src为值的数组。

尝试使用跨浏览器解决方案等待加载图像。加载pic需要多长时间?使用
setInterval(函数(){/*在此处加载图片*/},3000)
;尝试使用跨浏览器解决方案来等待加载图片。加载图片需要多长时间?使用
setInterval(function(){/*load picture here*/},3000)
;但它会等待图片加载,还是跳过img.onload=function(){因为它还不是真的吗?
onload
只有在图像加载后才会触发。所以把加载其他图像放在callabck中。img.onload可以在onclick事件中调用的其他函数中?当然可以。但是真正触发图像加载的是
img.src
onload的赋值应该是e在它之前定义。如果img.src在img.onload之前更好,对吗?这样它可以加载,然后检查是否加载。但它会等待图片加载,还是跳过img.onload=function(){因为它还不是真的吗?
onload
只有在图像加载后才会触发。所以把加载其他图像放在callabck中。img.onload可以在onclick事件中调用的其他函数中?当然可以。但是真正触发图像加载的是
img.src
onload的赋值应该是e在它之前定义。如果img.src在img.onload之前更好,对吗?这样它可以加载,然后检查是否加载。