Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery如果不执行其他操作,则不执行任何操作-不工作_Javascript_Html_Jquery - Fatal编程技术网

Javascript jquery如果不执行其他操作,则不执行任何操作-不工作

Javascript jquery如果不执行其他操作,则不执行任何操作-不工作,javascript,html,jquery,Javascript,Html,Jquery,我意识到有许多类似的问题,但我正在落实答案,但我仍然无法让它发挥作用。我有一些jquery,当鼠标悬停在列表项上时会更改图像。让它工作得很好,但与淡入淡出效果,它似乎淡出,甚至当正确的图像已经存在。我想如果我添加一个if语句并省略else,它只会在图像路径不相等时执行该函数,而在图像路径相等时不执行任何操作。 我有一本书。没有语法错误。看起来应该有用,但不行 jquery: $(document).ready(function() { var path = 'https://avayoupa

我意识到有许多类似的问题,但我正在落实答案,但我仍然无法让它发挥作用。我有一些jquery,当鼠标悬停在列表项上时会更改图像。让它工作得很好,但与淡入淡出效果,它似乎淡出,甚至当正确的图像已经存在。我想如果我添加一个
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')`