jQuery: 如何读取动态变化的图片源?
jQuery: How to read the dynamically changed image source?
当用户点击 "banner" class 第一次在 "if" 语句中检查图像来源并得到完美更改。现在的问题是当用户再次点击 "banner" class 时,它不会进入 "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");
}
});
});
您不是在将属性的内容与字符串进行比较,而是在检查 设置 属性是否 returns 真/假。
所以代替:-
if($("#left").attr('src',"img/unSelectedBanner.jpg")) { ... }
你应该使用
if($("#left").attr('src') == "img/unSelectedBanner.jpg") { ... }
与所有其他检查相同。
当用户点击 "banner" class 第一次在 "if" 语句中检查图像来源并得到完美更改。现在的问题是当用户再次点击 "banner" class 时,它不会进入 "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");
}
});
});
您不是在将属性的内容与字符串进行比较,而是在检查 设置 属性是否 returns 真/假。
所以代替:-
if($("#left").attr('src',"img/unSelectedBanner.jpg")) { ... }
你应该使用
if($("#left").attr('src') == "img/unSelectedBanner.jpg") { ... }
与所有其他检查相同。