【发布时间】:2012-08-09 10:23:31
【问题描述】:
我有几个页面以相同的方式设置。每个页面大约有 10 到 15 张图像,如果单击它们,图像会发生变化并变得无法单击。 我的代码是:
function ToggleOnclick(elID)
{
var el = document.getElementById(elID);
var loc = document.getElementsByClassName("wrapper");
if (el.onclick)
{
// Disable the onclick
el._onclick = el.onclick;
el.onclick = null;
el.src = loc.id + "/" + el.name + "Clicked.png";
}
}
图片的html是:
....
<div class="content">
<div class="wrapper" id="som">
<div class="img0"><img src="som/doos.png" alt="doos" name="doos" id="doos" onclick="ToggleOnclick(this.name);" /></div>
<div class="img1"><img src="som/beer.png" alt="beer" name="beer" id="beer" onclick="ToggleOnclick(this.name);" /></div>
<div class="img2"><img src="som/bel.png" alt="bel" name="bel" id="bel" onclick="ToggleOnclick(this.name);" /></div>
....
因为我需要制作大约 20 个 html 文件,所以我想将图像的源位置添加为 wrapper-div 的 id-tag。
我对 javascript 知之甚少,我很难找到我想要的东西。也可能是因为不是母语人士,也不知道我在寻找什么。
请记住我的文件:
- 由于我们客户的规格,必须在较旧的浏览器版本中工作
- 无法用 JQuery 修复(请不要在 cmets 或答案中讨论。我不能在这个项目中使用它。不讨论。)
tldr;我需要一种方法来根据 wrapper-div 的 id-tag 设置 img src
【问题讨论】:
-
您在上面发布的代码似乎很好,问题出在哪里??
-
哪个元素有 onclick 处理程序,
.content?我注意到的唯一一件事是您从整个文档中获取了所有包装器元素。你的意思是el.getElementsByClassName? -
@yogi,当我点击它们时图像不会改变
-
@TorstenWalter onClick 在图像中,如果您向右滚动,您会看到它被调用。而且包装器只使用一次,所以没关系
标签: javascript html image src