想通过javascript按钮改变图像src,但代码不工作
Want to change image src via button by javascript but code does not work
我是Javascript新手。我只是想改变图像的来源为不同的一个,当用户按下三个按钮之一。这些按钮有不同的来源。我不知道我的代码出了什么问题,显然它不工作…
<!doctype html>
<head>
<title>Change image with button</title>
</head>
<body>
<h3>Click on the buttons to change image</h3><br/><br/><br/>
<img id="photo_mine" src="01.bmp"/><br/><br/>
<button id="one">1</button>
<button id="two">2</button>
<button id="three">3</button>
<script>
document.getElementById("one").addEventListener("click", ch_image("01.bmp"), false);
document.getElementById("two").addEventListener("click", ch_image("02.png"), false);
document.getElementById("three").addEventListener("click", ch_image("03.jpg"), false);
function ch_image(source_path) {
var img_but = document.getElementById("photo_mine");
img_but.src = source_path;
}
</script>
</body>
PS:将所有"Document"编辑为"Document"并修复了一个语法错误。
现在很奇怪。页面加载时总是打开第三张图片(03.jpg),按不同的按钮不会改变图片
除了在评论中指出的错误(Document != document
)之外,您的主要问题是您比您认为的更早调用ch_image
。addEventListener
期望您传入一个函数,但您实际上调用ch_image
,然后传入结果。你的代码应该看起来像这样:
<!doctype html>
<head>
<title>Change image with button</title>
</head>
<body>
<h3>Click on the buttons to change image</h3><br/><br/><br/>
<img id="photo_mine" src="01.bmp"/><br/><br/>
<button id="one">1</button>
<button id="two">2</button>
<button id="three">3</button>
<script>
document.getElementById("one").addEventListener("click", function () {
ch_image("01.bmp");
});
document.getElementById("two").addEventListener("click", function () {
ch_image("02.bmp");
});
document.getElementById("three").addEventListener("click", function () {
ch_image("03.bmp");
});
function ch_image(source_path) {
var img_but = document.getElementById("photo_mine");
img_but.src = source_path;
}
</script>
</body>
(另外,我从每个调用中删除了false
,因为这是默认的-您不需要每次都指定它!)
相关文章:
- 为什么我需要在setTimeout中有匿名函数才能使此代码工作
- ajax代码工作时,使用javascript禁用html中的链接
- Javascript 新手到忍者无法让书籍代码工作
- 设计代码工作流程
- 在 Java 脚本中使用追加时 HTML 标记不起作用,但在执行硬编码时 html 代码工作正常
- 如何使以下 JavaScript 代码工作并生成 ID 为 “myDivId” 的元素内的名称和年龄列表:
- 函数停止代码工作
- 如何使替换代码工作
- 我无法让这个高图表代码工作,有谁知道为什么它不起作用
- 代码工作 jsfiddle 不适用于 dreamweaver
- jQuery Keyup 不能从代码工作,而是从 Chrome.console 工作
- Web服务器代码工作不正常
- 求和代码工作不正常
- 启用JS评测时,JavaScript代码工作得更快?什么
- 为什么获胜't这个极其简单的Javascript代码工作
- 我的Javascript代码工作不正常
- js代码工作是JSfiddle,但不是在我的浏览器
- 我有反应标签代码工作完美,但我需要改变html结构
- JQuery登录如果语句代码工作不正常则注销
- 我如何使这段代码工作自定义'Facebook Like Box'