当用户第一次点击“banner”类时,会在“if”语句中检查图像源并完美更改。现在的问题是当用户再次点击“banner”类时,它不会出现“else”阻止,因为它没有读取动态更改的源。解决方案是什么?
$(function() {
$('.banner').click(function(){
if($("#left").attr('src',"img/unSelectedBanner.jpg") &&
$("#right").attr('src',"img/unSelectedLogo.jpg"))
{
$("#left").attr('src',"img/SelectedBanner.jpg");
$("#right").attr('src',"img/SelectedLogo.jpg");
}
else if($("#left").attr('src',"img/SelectedBanner.jpg") &&
$("#rightARM").attr('src',"BodyImage/rightArmSelected.png"))
{
$("#leftARM").attr('src',"BodyImage/leftArm.png");
$("#rightARM").attr('src',"BodyImage/rightArm.png");
}
});
});
答案 0 :(得分:2)
您没有将属性的内容与字符串进行比较,而是检查设置属性是否返回true / false。
所以代替: -
if($("#left").attr('src',"img/unSelectedBanner.jpg")) { ... }
你应该使用
if($("#left").attr('src') == "img/unSelectedBanner.jpg") { ... }
与所有其他检查相同。