我'。 Image-loaded-show表示在圖像完全加載之前,寬度和高度爲0,即不會顯示並佔用任何空間。圖像加載放映功能由JavaScript在移動瀏覽器
現在的問題是,圖像不會出現,直到所有的圖像加載。
我需要的是,在頁面的iamge是獨立的,一旦加載,圖像顯示出來。
如何修改這段JavaScript代碼的任何提示?謝謝。
<script type='text/javascript'>
var srcs = [];
window.doBindLinks = function() {
var elems = document.getElementsByTagName('img');
for (var i = 0; i < elems.length; i++) {
var elem = elems[i];
var link = elem.getAttribute('src');
elem.setAttribute('link', link);
elem.removeAttribute('width');
elem.removeAttribute('height');
elem.removeAttribute('class');
elem.removeAttribute('style');
if(link.indexOf('.gif')>0)
{
elem.parentNode.removeChild(elem);
}else{
}
}
var content = document.getElementById('content');
var images = content.getElementsByTagName('img');
for (var i = 0; i < images.length; i++) {
srcs[i] = images[i].src;
loadImage(images[i], srcs[i],
function (cur, img, cached) {
cur.src = img.src;},
function (cur, img) {
cur.style.display = 'none';});
}
};
var loadImage = function (cur, url, callback, onerror) {
var img = new Image();
img.src = url;
img.width = '100%';
if (img.complete) {
callback && callback(cur, img, true);
return;
}
img.onload = function() {
callback && callback(cur, img, true);
return;
};
if (typeof onerror == 'function') {
img.onerror = function() {
onerror && onerror(cur, img);
}
}
};
</script>
頁面的源代碼是:
<body onload="doBindLinks();"><div id="content"> images and text </div></body>
PS:因爲我需要寫在C#這個JavaScript字符串,我更換(「)到(')
。編輯: 是下列權利:
window.doBindLinks = function() {
var elems = document.getElementsByTagName('img');
for (var i = 0; i < elems.length; i++) {
var elem = elems[i];
var link = elem.getAttribute('src');
elem.setAttribute('link', link);
elem.removeAttribute('width');
elem.removeAttribute('height');
elem.removeAttribute('class');
elem.removeAttribute('style');
elem.setAttribute('display','none');
if(link.indexOf('.gif')>0)
{
elem.parentNode.removeChild(elem);
}else{
}
elem.attachEvent('onload',onImageLoaded);
}
};
window.onImageLoaded = function() {
var elem = event.srcElement;
if (elem != null) {
elem.setAttribute('display','block');
}
return false;
};
此外,CSS代碼爲:
img {width: 100%; border-style:none;text-align:center;}
但是,圖像仍然不會顯示,直到所有加載。
是的,我試圖隱藏圖像,直到它完全加載。我感謝第一個選項將滿足我的需求。但我不熟悉JavaScript(我是C#開發人員> _ <)。你能給我更多提示嗎?謝謝。 – ellic 2012-02-22 13:38:05
插入你的圖片標籤,像這樣: – Stumpy7 2012-02-22 13:50:12
不錯,@Stumpy7,我編輯了這個問題。你能告訴我代碼是否正確? – ellic 2012-02-22 14:15:53