使用jquery在任何容器中动态下载图像

使用jquery在任何容器中动态下载图像,jquery,asp.net,Jquery,Asp.net,在搜索谷歌之后,我得到了一个代码,这个代码可以一次下载所有的图片 代码是 $(文档).ready(函数(){ $(“表[id*=dgImages]img”)。每个(函数(){ $(this.attr(“src”),$(this.attr(“原件”); $(此).removeAttr(“原件”); }); }); ' /> 无论数据列表中有什么图像,代码都会一次下载。所以我需要自定义它,只有可见图像应该下载,当用户向下滚动,然后下一个可见图像应该下载。 因此,请指导我在客户端脚本中修改什么 谢

在搜索谷歌之后,我得到了一个代码,这个代码可以一次下载所有的图片

代码是

$(文档).ready(函数(){
$(“表[id*=dgImages]img”)。每个(函数(){
$(this.attr(“src”),$(this.attr(“原件”);
$(此).removeAttr(“原件”);
});
});
' />
无论数据列表中有什么图像,代码都会一次下载。所以我需要自定义它,只有可见图像应该下载,当用户向下滚动,然后下一个可见图像应该下载。 因此,请指导我在客户端脚本中修改什么


谢谢

这将确保只下载可见图像:

$(document).ready(function () {
  $("table[id*=dgImages] img").each(function () {
    if($(this).offset().top > $(window).scrollTop() && $(this).offset().top < $(window).scrollTop() + $(window).height()) {

      // callback on load complete          
      this.onload = function() { 
        alert('loaded'); 
        $(this).fadeIn('slow');
      }

      $(this).attr("src", $(this).attr("original"));
      $(this).removeAttr("original");
    }
  });
});
$(文档).ready(函数(){
$(“表[id*=dgImages]img”)。每个(函数(){
如果($(此).offset().top>$(窗口).scrollTop()&&&$(此).offset().top<$(窗口).scrollTop()+$(窗口).height()){
//加载时回调完成
this.onload=函数(){
警报(“已加载”);
$(this.fadeIn('slow');
}
$(this.attr(“src”),$(this.attr(“原件”);
$(此).removeAttr(“原件”);
}
});
});

您可以使用“出现”插件()并将函数添加为事件处理程序:

$(document).ready(function () {
      $("table[id*=dgImages] img").each(function () {
          $(this).appear(function(){
             $(this).attr("src", $(this).attr("original"));
             $(this).removeAttr("original");
          });
      });
  });

你能帮我一点忙吗?当下载完每幅图片后,我需要一个回调函数来通知我。从该回调将做一些事情……是否可能这一行实际下载图像$(this.attr(“src”),$(this.attr(“原始”);当每个图像下载完成,然后我想做一些事情…所以告诉你如何才能确定一个图像下载完成。请帮忙。谢谢你的帮助…需要再帮我一个忙吗?我可以附加像$(这个)这样的淡入效果吗;当每个图像都可见时,fadein最好在load completion回调函数中给出。像这样:
$(this).fadeIn(speed)
其中速度可以“快”、“慢”等。。答案更新以演示fadeIn.here u添加代码this.onload=function(){alert('loaded');$(this.fadeIn('slow');}),它通知每个映像何时将在客户端下载完成。如何确定可见区域中的所有图像何时将下载完成…所以有什么诀窍吗。我可以有任何回调函数…plzz帮助。谢谢你帮了我更多的忙,当下载完每张图片后,我需要一个回调函数来通知我。从该回调将做一些事情……是否可能这一行实际下载图像$(this.attr(“src”),$(this.attr(“原始”);当每个图像下载完成,然后我想做一些事情…所以告诉你如何才能确定一个图像下载完成。请帮忙。感谢您可以绑定到映像$(this.bind)的加载事件(“加载”,function(){/*do stuff*/});其中“this”被假定为对您的图像的引用。关于这个方法的更多信息可以在这里找到:谢谢你的帮助…还需要一个帮助我可以附加像$(this.fadeIn('slow')这样的淡入效果吗;每个图像何时可见如何确定可见区域中的所有图像何时下载完成…还有什么诀窍吗。我可以有任何回调函数…plzz帮助。谢谢
$(document).ready(function () {
      $("table[id*=dgImages] img").each(function () {
          $(this).appear(function(){
             $(this).attr("src", $(this).attr("original"));
             $(this).removeAttr("original");
          });
      });
  });