我一直在用数百个图片构建一个图片库,我不希望它们都在页面加载时加载明显的带宽问题。对于初学者,我说;从<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'); ** –