JavaScript 根据单击的 IMG 更改 IMG
javascript change img onclick according to an img that was clicked
我正在尝试在按下 img 时使用 onclick 函数。我想根据按下的小 img 更改一个大的和主要的 img("mainPants")。我的代码存在问题 - 每次"点击"小 img 都会将主 img 更改为最后一个(红裤子)。
这是我的代码:
<img id="mainPants" src="images/bluePants.png">
<img class="img1" id="pBlack" onclick="changeImage()" src="images/blackPants.png">
<img class="img1" id="pPink" onclick="changeImage()" src="images/pinkPants.png">
<img class="img1" id="pRed" onclick="changeImage()" src="images/redPants.png">
<script>
function changeImage(){
var blackPants = document.getElementById("pBlack");
var pinkPants = document.getElementById("pPink");
var redPants = document.getElementById("pRed");
var newImg = document.getElementById('mainPants');
blackPants.addEventListener('onclick', function(){
newImg.src = "images/blackPantsBig.png";
}());
pinkPants.addEventListener('onclick', function(){
newImg.src = "images/pinkPantsBig.png";
}());
redPants.addEventListener('onclick', function(){
newImg.src = "images/redPantsBig.png";
}());
};
</script>
每次点击都会运行所有回调:
blackPants.addEventListener('onclick', function(){
newImg.src = "images/blackPantsBig.png";
}()); // these "()" brackets run function right after it is created
您还会将所有回调绑定两次 - 第一次在 HTML 中使用 onclick="changeImage()"
属性,第二次使用 addEventListener
。试试:
<script>
function changeImage(e) {
var newImg = document.getElementById('mainPants');
switch (e.target.id) {
case 'pBlack':
newImg.src = "images/blackPantsBig.png";
break;
case 'pPink':
newImg.src = "images/pinkPantsBig.png";
break;
case 'pRed':
default:
newImg.src = "images/pinkPantsBig.png";
}
}
</script>
<img class="img1" id="pBlack" onclick="changeImage(this)" src="images/blackPants.png">
<img class="img1" id="pPink" onclick="changeImage(this)" src="images/pinkPants.png">
<img class="img1" id="pRed" onclick="changeImage(this)" src="images/redPants.png">
<script>
function changeImage(img) {
var newImg = document.getElementById('mainPants');
switch (img.id) {
case 'pBlack':
newImg.src = "images/blackPantsBig.png";
break;
case 'pPink':
newImg.src = "images/pinkPantsBig.png";
break;
case 'pRed':
default:
newImg.src = "images/redPantsBig.png";
}
}
</script>
相关文章:
- 如何更改<svg>标记为<img>用js标记
- 使用JavaScript将文本更改为img
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- 在jquery中更改img标记的类名
- Img-src只通过javascript更改一次
- img src 在 Firefox 和 IE 的 jQuery 脚本中没有更改
- 如何在 HTML 中的按钮单击上更改图像(IMG URL 每次来自服务器)
- 更改“;p〃;以及“;img”;当选择特定收音机时
- Jquery-如何在悬停时更改img src
- 单击时使用委托更改img的源
- Javascript/jQuery:根据内部的IMG ALT更改li类和样式
- 更改src-img指令或过滤angular
- 使用javascript更改悬停时的img src
- JavaScript自动更改img src
- 将功能元素 IMG 更改为 DIV 背景
- JavaScript 根据单击的 IMG 更改 IMG
- 想将 IMG 更改为链接,我该怎么做
- Jquery button img 更改在 IE 和 Firefox 中不起作用
- 单击将 img 更改为新的 img 并返回原始图像
- 点击img更改视频