我一直在用數百個圖片構建一個圖片庫,我不希望它們都在頁面加載時加載明顯的帶寬問題。對於初學者,我說;從<a href>標籤中查找src圖像值
<body onload="removeAttr("src")">
防止圖片加載哪些作品...太好我害怕,因爲它不會加載我的網站標題橫幅圖片。無論如何,我的畫廊設置了一個菜單,每個按鈕代表不同的圖像。菜單以這種格式顯示;
<ul id="menu">
<li><a href="#pic1">Title</a></li>
</ul>
與許多按鈕。點擊該按鈕後,它會將與其鏈接的圖形加載到名爲「gallery」的div中。所有圖像都會被加載到「gallery」中,並帶有overflow:hidden,這就是爲什麼他們想要初始加載,代碼顯示爲;
<div id="gallery">
<div>
<a name="pic1"></a><img alt="" src="../images/characters/character1.jpg" />
</div>
</div>
再次帶有許多圖像。我的腳本聽取鼠標點擊並立即獲取與其相關聯的href值,因此「pic1」,然後它使用它來查找與其鏈接的圖像名稱,以便「character1.jpg」並將其存儲在變量中。 (我堅信我的問題在哪裏)。然後,針對「圖庫」div刪除之前在那裏的任何圖片,然後插入新圖像(存儲在變量中的圖像)。所有這些都是爲了只加載用戶想要看到的圖形,而不是全部。該警報顯示按鈕編號,以便部分工作,並且我知道它會刪除加載在div中的圖像,因爲它似乎正在加載列表中的第一個圖像,然後在測試中消失,但是它不會用新的圖像替換它。
<script type="text/javascript">
window.onclick = function(e) {
var node = e.target;
while (node != undefined && node.localName != 'a') {
node = node.parentNode;
}
if (node != undefined) {
if (this.id == 'alternate-image') {
var Imgsrc = $(this).find('img').attr('src');
alert(src);
}
var dv = document.getElementById('gallery');
// remove all child nodes
while (dv.hasChildNodes()) {
dv.removeChild(dv.lastChild);
}
alert("The button value is: " + node);
var img = document.createElement("IMG");
img.src = Imgsrc;
dv.appendChild(img);
return false; // stop handling the click
} else {
alert('This is not a link: ' + e.target.innerHTML)
return true; // handle other clicks
}
}
</script>
你提高你的編程技能或努力實現項目?請參閱[這裏](https://github.com/sachinchoolur/lightgallery.js/)瞭解照片庫示例項目。 –
如何嘗試使用** var Imgsrc = $(this).find('img')[0] .attr('src'); ** –