首先,我刚开始学习javascript,所以请耐心等待。我有一个问题,我想弄明白。我正在寻找一种方法来单击图像,然后单击我想要交换它的图像。详细说来,我有9个标记为0-9的图像和9个空白图像。我的目标是能够单击编号的图像并将其交换为其中一个空白图像。我想出的就是这个,但绝对不能按我需要的方式工作。
function swap1() {
element = document.getElementById('0')
if (element.src.match("0.jpg")) {
element.src = "blank.jpg";
alert(this.id)
} else {
element.src = "0.jpg";
}
}
答案 0 :(得分:0)
id
不能以数字开头。将其更改为有效id
,例如image
,或者只需通过event.target
获取对该元素的引用。
答案 1 :(得分:0)
<img id="img0" src="0.jpg" onclick="swap(this);">
<img id="img1" src="1.jpg" onclick="swap(this);">
<img id="img2" src="2.jpg" onclick="swap(this);">
<script>
function swap(d){
if (!d.osrc) d.osrc=d.src; //save the original src file
if (d.blanked){
d.src=d.osrc;
d.blanked=null;
} else {
d.blanked=true;
d.src='blank.jpg';
}
//un-blank the "other guys"
for (var i=0;i<3;i++){ //change the upper bound as you add more images
var obj=document.getElementById('img'+i);
if (obj==d) continue; //skip self
obj.blanked=null;
obj.src=obj.osrc;
}
}
</script>
以上代码演示了两种重要技术:a。通过自我引用以避免繁琐的命名;湾将状态变量存储在DOM对象中
答案 2 :(得分:0)
试试这个。说你的HTML
<img id="myimage" onclick="swap1()" src="0.jpg">
function swap1() {
element = document.getElementById('myimage');
if (element.src.match("0.jpg")) {
element.src = "blank.jpg";
} else {
element.src = "0.jpg";
}
}