2011-01-29 52 views
2

我想阻止网页上的所有图像。将会有灰色的框而不是图像。我如何阻止用Jquery加载图像

延迟加载图像将负载,同时滚动。

我该如何做到这一点与jQuery的?这有什么功能吗?

+1

是否真的取决于负载?或者你想“不显示”他们?如果您处于特定位置,则使用AJAX完成新图片的加载。所以它不是“不加载”,而是在我想的正确时刻“加载”。 – Marnix 2011-01-29 00:57:47

+0

@Marnix,页面加载时图像必须被阻止。所以,我可以增加我的网页速度(例如)。 – Eray 2011-01-29 01:28:15

回答

1
$('img').attr('src', 'img_with_square_border.jpg'); 

这应该是完美的。

......当然,除非你想在用户到达它们时加载图像。

EDIT容纳点击

$('img').each(function() { this.setAttribute('real-src', this.src); }) 
     .attr('src', 'whatever.jpg') 
     .click(function() { this.src = this.getAttribute('real-src'); }); 
1

这里是与灰色框替换图像,并保持到使用.data()原始图像的基准的例子。

例::http://jsfiddle.net/GTQTC/2/(3秒后恢复)

$('img').each(function() { 
    var $th = $(this); 
    var div = $('<div>', { 
     className: 'replacement', 
     width: $th.width(), 
     height: $th.height(), 
     display: $th.css('display'), 
     css:{'backgroundColor':'#DDD'} 
    }) 
     .data('originalImage',this); 
    $th.replaceWith(div); 
}); 

setTimeout(function() { 
    $('.replacement').replaceWith(function() { 
     return $(this).data('originalImage'); 
    }); 
}, 3000);