我正在通过 jQuery 更改图像,但是图像需要几秒钟才能加载,因此看起来就像单击什么也没做,所以我需要输入一个临时的“正在加载”图像来向用户显示图像正在加载。
然而,正如我过去所经历的那样,JS 并没有真正在事情发生时触发事情,它会等到完整的功能完成后再发生事情;我记得过去想出了一个解决方案,但我就是不记得它是什么。
我有这个可以完成每项任务,但用户永远不会看到加载图像,因为它在用户看到任何东西之前就被新图像替换了。
function changeMainImage(image) {
// Set temporary loading image
jQuery('#main_image').attr('src', 'images/loading.jpeg');
// Set big image
var big_image = image + '-big.png'
// Update main image url
jQuery('#main_image').attr('src', big_image);
}
我尝试将以下内容放入单独的函数中:
// Set temporary loading image
jQuery('#main_image').attr('src', 'images/loading.jpeg');
..并像这样在其他函数之前调用它..
onclick="setLoadingIMage(); changeMainImage('images/ai');"
但这并没有改变任何东西。
谁能告诉我我需要做什么才能达到我想要的效果?