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);