【问题标题】:issues with IE and jQuery load()IE 和 jQuery load() 的问题
【发布时间】:2023-04-01 05:30:01
【问题描述】:

我有以下功能,可以在除 IE 之外的所有浏览器中正常工作。当加载一个图像然后返回并单击相同的<a> 标签时,图像会淡出但不会重新加载。我很困惑为什么这在其他浏览器中有效但在 IE 中无效。非常感谢任何和所有的见解。

$('a').click(function({
  $("#el").animate({
       opacity: 0
     }, 800,
     function(){
       $("<img/>").attr('src', 'http://www.google.com/images/logos/ps_logo2.png').load(function(){
           $("#el img").attr('src', "http://www.google.com/images/logos/ps_logo2.png")
           $("#el").animate({
             opacity: 1
           }, 
           800)
       });
     });
});

【问题讨论】:

    标签: javascript jquery html load


    【解决方案1】:

    在设置源代码之前分配加载函数。

    第一次点击后图片在缓存中,所以会立即加载,.load()来晚了。

    【讨论】:

    • 我将它用于幻灯片放映,并且需要确保在将元素淡入之前加载所单击链接的 href。这不是正确的方法吗?我通常将此代码或非常类似的代码用于幻灯片。
    • load() 将在图像加载时触发,因此您可以确定图像已经加载。您当前代码的问题是图像在您分配加载函数之前已经加载,仅此而已。
    • 查看区别:jsfiddle.net/doktormolle/F6ECx。它不会改变您方法的逻辑,唯一重要的变化是它解决了问题。
    【解决方案2】:

    这可能是 IE 如何处理不透明度的问题。 Quirksmode on opacity

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2013-01-25
      • 2012-07-28
      • 1970-01-01
      相关资源
      最近更新 更多