我想在点击链接时更改图片。我有下面的代码。首先点击它正在工作。但在第二次点击中,它不是。
menu_span是“链接ID”
menu_image是“图片ID”
$(function() {
$("#menu_span").click( function(){
if(document.getElementById('menu_image').src ="images/arti.jpg")
{
document.getElementById('menu_image').src ="images/eksi.jpg";
}
else
if(document.getElementById('menu_image').src ="images/eksi.jpg")
{
document.getElementById('menu_image').src ="images/arti.jpg";
}
}
);
});
它的工作方式如下。但我不想用“i2”
var i2=0;
$("#slider_span").click( function(){
if(i2==0)
{
document.getElementById('slider_image').src ="images/eksi.jpg";
document.getElementById('slider_div').style.display="inline-block";
i2=1;
}
else
if(i2==1)
{
document.getElementById('slider_image').src ="images/arti.jpg";
document.getElementById('slider_div').style.display="none";
i2=0;
}
}
);
请帮忙!
答案 0 :(得分:2)
使用==
,而不是=
来检查相等性:
if (document.getElementById('menu_image').src == "images/arti.jpg") {
document.getElementById('menu_image').src ="images/eksi.jpg";
} else if(document.getElementById('menu_image').src == "images/eksi.jpg") {
document.getElementById('menu_image').src ="images/arti.jpg";
}
但是不是测试元素的状态,而是最好将它存储在变量中:
$(function() {
var nbchanges = 0;
$("#menu_span").click( function(){
$('#menu_image').prop('src', (nbchanges++)%2 ? "images/arti.jpg" : "images/eksi.jpg");
});
});
答案 1 :(得分:0)
您也可以使用===来避免类型转换。