我想点击一个链接来更改图像的来源。这是我到目前为止所提出的:
HTML:
<a href = "#" id = "blabla" onclick = "changesrc(); return:false;">click</a>
<div id = "bulb">
<center><img src = "C:\Users\hp\Desktop\on.gif" style = "width:180px;height:270px;position:relative;top:25px;border:2px solid black;"></center>
</div>
JS:
function changesrc() {
var work = document.getElementById('bulb');
if (work.src.match(C:\Users\hp\Desktop\on)) {
work.src = "C:\Users\hp\Desktop\off.gif";
}
else {
work.src = "C:\Users\hp\Desktop\on.gif";
}
}
我是javascript的初学者,所以请帮助我。据我说,点击a(用文本点击),函数更改src被执行。该函数。有一个可变的工作。工作通过id = bulb调用元素。如果该变量的(工作)src与我桌面上的图像匹配(打开灯泡) )然后它变为off,否则它变为on(好像它不在,这意味着它关闭,所以我们改变了)。
我从w3schools那里得到了帮助。我抬起了类似的问题。我甚至将work.src更改为bulb.src。仍然无法找到我的错误。请帮忙告诉我是什么导致这个!!!请不要jQuery,因为我还不知道。
答案 0 :(得分:0)
if (work.src.match(C:\Users\hp\Desktop\on)) {
这应该匹配一个字符串?
if (work.src.match('C:\Users\hp\Desktop\on')) {
答案 1 :(得分:0)
您正在使用match
函数,该函数需要RegExp
作为参数。实际上我认为在你的情况下你可以只比较strings
:
if (work.src === 'C:\Users\hp\Desktop\on') {
答案 2 :(得分:0)
document.getElementById('bulb')不是图像。在您的代码中,您正在更改<div>
的“src”。
将ID更改为图像,例如:
<a href="#" id="blabla" onclick="changesrc(); return false;">click</a>
<div style="text-align:center;"">
<img id="bulb" src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/se/se-logo-med.png?v=d9b0b6647f17" style="width:180px;height:270px;position:relative;top:25px;border:2px solid black;">
</div>
和Javascript:
function changesrc(){
var work = document.getElementById('bulb');
if(work.src.indexOf('se/se-')){
work.src = 'http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo-med.png?v=6f86a5fa447f';
}
else{
work.src = 'http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/se/se-logo-med.png?v=d9b0b6647f17';
}
}
<强>更新强>:
“返回”已更正:onclick="changesrc(); return false;"
。