Javascript 检查图像源是否包含值
我有一个图像,点击后会发生变化,并在点击后保持2秒钟 此Javascript 检查图像源是否包含值,javascript,jquery,Javascript,Jquery,我有一个图像,点击后会发生变化,并在点击后保持2秒钟 此IMGsrc通过jQuery更改,并在setTimeout后返回源代码。问题是,如果用户在这2秒内再次单击,则源将更改为无效位置 我试图通过检查图像的当前src是否包含值\u hover.png来防止这种情况发生: if ('ThisIMG img[src*="_hover.png"]') { console.log("yes it does"); } 我在这个if语句中尝试了多种方法,但似乎找不到正确的参数 以下是我尝试过的一些
IMG
src
通过jQuery更改,并在setTimeout
后返回源代码。问题是,如果用户在这2秒内再次单击,则源将更改为无效位置
我试图通过检查图像的当前src
是否包含值\u hover.png
来防止这种情况发生:
if ('ThisIMG img[src*="_hover.png"]') {
console.log("yes it does");
}
我在这个if语句中尝试了多种方法,但似乎找不到正确的参数
以下是我尝试过的一些不同的事情:
$('.myImage').on({'click': function(){
var ThisIMG = $(this);
//if (ThisIMG.src == '_hover') {
if ('ThisIMG img[src*="_hover.png"]') {
console.log("yes it does");
}
//if (ThisIMG.attr("src").contains "_hover.png") {
// console.log('yes it does');
//};
// Method to change image source on click:
var src = $(ThisIMG).attr("src").replace('.png', '_hover.png');
$(ThisIMG).attr("src", src);
console.log(src);
setTimeout(function () {
console.log("in timeout");
var src = $(ThisIMG).attr("src").replace("_hover.png", ".png");
$(ThisIMG).attr("src", src);
},1000);
}
});
HTML:
您可以获取src,并使用
indexOf()检查子字符串。
:
我不确定这是否是您想要的,但我已经对其进行了更改,这样,除非src等于.png,否则单击按钮时发生的事情将不会发生
if($('.myImage').attr('src') == '.png')
那是一个不必要的{单击旁边吗?应该是吗?.on('click',function(){@Dan good eye,替换为
$('.tileImage')。on('click',function(){
并移除了右大括号。
if (ThisIMG.attr('src').indexOf('_hover.png') > -1) {
if($('.myImage').attr('src') == '.png')