Javascript jquery如果不执行其他操作,则不执行任何操作-不工作
我意识到有许多类似的问题,但我正在落实答案,但我仍然无法让它发挥作用。我有一些jquery,当鼠标悬停在列表项上时会更改图像。让它工作得很好,但与淡入淡出效果,它似乎淡出,甚至当正确的图像已经存在。我想如果我添加一个Javascript jquery如果不执行其他操作,则不执行任何操作-不工作,javascript,html,jquery,Javascript,Html,Jquery,我意识到有许多类似的问题,但我正在落实答案,但我仍然无法让它发挥作用。我有一些jquery,当鼠标悬停在列表项上时会更改图像。让它工作得很好,但与淡入淡出效果,它似乎淡出,甚至当正确的图像已经存在。我想如果我添加一个if语句并省略else,它只会在图像路径不相等时执行该函数,而在图像路径相等时不执行任何操作。 我有一本书。没有语法错误。看起来应该有用,但不行 jquery: $(document).ready(function() { var path = 'https://avayoupa
if
语句并省略else
,它只会在图像路径不相等时执行该函数,而在图像路径相等时不执行任何操作。我有一本书。没有语法错误。看起来应该有用,但不行 jquery:
$(document).ready(function() {
var path = 'https://avayoupaint.com/images/';
$('.menu-child').mouseenter(function() {
var newimage = $(this).attr('data-path') + '.jpg';
if(newimage != (path + $('.swap > img').attr('src'))) {
$('.swap > img').fadeOut(100,function() {
$(this).attr('src', path + newimage).fadeIn(100)
});
}
})
});
html:
-
-
看起来您将路径添加到了比较的错误一侧。您要比较:
path + newimage !== $('.swap > img').attr('src')`
$(文档).ready(函数(){
var路径https://avayoupaint.com/images/';
$('.menu-child').mouseenter(函数(){
var newimage=$(this.attr('data-path')+'.jpg';
if(path+newimage!==$('.swap>img').attr('src')){
$('.swap>img').fadeOut(100,function(){
$(this.attr('src',path+newimage).fadeIn(100)
});
}
})
});代码>
-
-
它究竟以什么方式不起作用?有什么事发生吗?到目前为止,您已经完成了哪些调试?当您将鼠标悬停在列表项上,并且该列表项的正确映像已经存在时,它似乎正在“重新加载”同一映像,而不是什么也不做。它的行为与我添加if
语句之前完全相同。逻辑有缺陷。您正在将文件名newimage
与现有图像的完整url进行比较。一些简单的日志记录或断点可以帮助您使用$(this).data(“path”)从元素中提取数据来调试thistry。还有另一个人说的关于文件名与完整url的比较。在创建newImage、console.log(newImage)、console.log($('.swap>img').attr('src'))之后,您可以在控制台(chrome developer tools)中查看,并确定您的条件没有按预期进行计算的原因。是的,我已经使用console.log()
以上推荐。我应该删除这个问题。
path + newimage !== $('.swap > img').attr('src')`