如何将加载指示器添加到 <img>?
How do I add loading indicator to an <img>?
我的项目中有以下HTML。
<div class="container" id="crop">
<img id="timage" src="http://example.com/color/style/etc/" alt="timages" />
我还有以下javascript:
$(window).load(function () {
$("#slider").change(function update() {
sVal = $(this).val();
if (sVal == 2) {
$('#timage').prop('src',"http://example.com/" +
tForm +
"color.blahblah" +
itemCode +
"therest_ofthe_URL");}
sVal = $(this).val();
if (sVal == 3) {
$('#timage').prop('src',"http://example.com/" +
tForm +
"color.blahblah" +
itemCode +
"therest_ofthe_URL");}
);}
当滑块值达到一定数字时,用字符串替换图像非常有效。问题是,图像是在幕后的后端创建的,需要相当长的时间才能准备好。与此同时,您只是盯着原始图像想知道滑块是否做了任何事情。
如何添加加载指示器让人们知道图片即将更改?
首先,在您想要的位置放置一个加载指示器。例如,您可以将 #timage 替换为旋转的 gif。然后使用此代码开始新图像加载:
var img = new Image();
img.onload = function () {
$('#timage').prop('src', img.src);
}
img.src = '/image/to/load/here';
从服务器检索并加载新图像后,将执行该函数。由于它已经缓存在客户端上,一旦设置了#timage 的 src,它应该会立即加载。
我的项目中有以下HTML。
<div class="container" id="crop">
<img id="timage" src="http://example.com/color/style/etc/" alt="timages" />
我还有以下javascript:
$(window).load(function () {
$("#slider").change(function update() {
sVal = $(this).val();
if (sVal == 2) {
$('#timage').prop('src',"http://example.com/" +
tForm +
"color.blahblah" +
itemCode +
"therest_ofthe_URL");}
sVal = $(this).val();
if (sVal == 3) {
$('#timage').prop('src',"http://example.com/" +
tForm +
"color.blahblah" +
itemCode +
"therest_ofthe_URL");}
);}
当滑块值达到一定数字时,用字符串替换图像非常有效。问题是,图像是在幕后的后端创建的,需要相当长的时间才能准备好。与此同时,您只是盯着原始图像想知道滑块是否做了任何事情。
如何添加加载指示器让人们知道图片即将更改?
首先,在您想要的位置放置一个加载指示器。例如,您可以将 #timage 替换为旋转的 gif。然后使用此代码开始新图像加载:
var img = new Image();
img.onload = function () {
$('#timage').prop('src', img.src);
}
img.src = '/image/to/load/here';
从服务器检索并加载新图像后,将执行该函数。由于它已经缓存在客户端上,一旦设置了#timage 的 src,它应该会立即加载。