历时八天,终于弄完了,此代码堪称完美,无懈可击,哈哈哈,图片库最终版js文件

本文介绍了一段用于图片展示的JavaScript脚本,该脚本通过动态加载图片和描述来实现图片展示效果。它包含了几个关键函数:`functionshowpic`用于设置图片源和描述;`prepargallery`为图片画廊预设点击事件;`addloadevent`确保页面加载完毕后执行特定函数;`prepareplaceholder`预先设定图片占位符及其描述;`insertafter`用于在DOM中插入元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function showpic(whichpic)//假设过多
{
if(!document.getElementById("placeholder"))return false;
var source=whichpic.getAttribute("href");
var place=document.getElementById("placeholder");
if(placeholder.nodeName!="IMG")return false;
place.setAttribute("src",source);//后面的值赋给前面
if(document.getElementById("description"))
{
var text=whichpic.getAttribute("title")?whichpic.getAttribute("title"):" ";/*三目运算符*/
var descript=document.getElementById("description");
if(descript.firstChild.nodeType==3)
 {
  descript.firstChild.nodeValue=text;
 }
}
return true;
}
function prepargallery()//分离javascript 
{
if(!document.getElementsByTagName)return false;
if(!document.getElementById)return false;
if(!document.getElementById("imagegallery"))return false;
var gallery=document.getElementById("imagegallery");
var links=gallery.getElementsByTagName("a");
for (var i=0;i<links.length;i++) 
{
links[i].onclick=function(){return !showpic(this);}
//links[i].onkeypress=links[i].onclick;残疾人可用用tab和enter产生问题过多
}
}
function addloadevent(func)//万能函数,解决数量特别多的时候window.onload;
{
var oldonload=window.onload;
if(typeof window.onload!='function')
{
window.onload=func;
}else
{
window.onload=function(){oldonload();func();}
}
}
function prepareplaceholder()
{
if(!document.createElement)return false;
if(!document.createTextNode)return false;
if(!document.getElementById)return false;
if(!document.getElementById("imagegallery"))return false;
var placeho=document.createElement("img");
placeho.setAttribute("id","placeholder");
placeho.setAttribute("src","img/287080.jpg");
var descript=document.createElement("p");
descript.setAttribute("id","description");
var desctext=document.createTextNode("秋天的树林");
descript.appendChild(desctext);
var gallery=document.getElementById("imagegallery");
insertafter(placeho,gallery);
insertafter(descript,placeho);
}
function insertafter(newelement,targetelement)
{
var parent=targetelement.parentNode;
    if (parent.lastChild==targetelement)
    {
    parent.appendChild(newelement);
    }
    else
    {
    parent.insertBefore(newelement,targetelement.nextsibling);
    }
}
addloadevent(prepareplaceholder);
addloadevent(prepargallery);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值