Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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_Jquery_Html_Css - Fatal编程技术网

Javascript 当另一个函数被激发时,jquery停用函数

Javascript 当另一个函数被激发时,jquery停用函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的网页上有一个搜索功能。目前我有我的工作代码 search.click(function () { search.attr("src", "Icons/magnifier.png").css({ "border": "2px", "border-style": "solid", "border-color": "#000000", "padding-left": "130px", "transition":

我的网页上有一个搜索功能。目前我有我的工作代码

search.click(function () {
    search.attr("src", "Icons/magnifier.png").css({
        "border": "2px",
        "border-style": "solid",
        "border-color": "#000000",
        "padding-left": "130px",
        "transition": "all 500ms"
    });
});
$('html').click(function (e) {
    if (e.target.id != 'search') {
        $("#search").attr("src", "Icons/magnifier2.png");
        $("#search").css({
            "border": "2px",
            "border-style": "solid",
            "border-color": "#c8c8c8",
            "padding-left": "4px",
            "transition": "all 500ms"
        });
    }
});
这个函数的作用是,当用户单击图标时,图标会改变,边框会向左扩展,然后当用户单击页面时,它会恢复正常

现在,我想添加一个悬停功能,突出显示按钮

我得到以下信息:

 var search = $("#search");
 search.mouseover(function (event) {
     search.css({
         "border": "2px",
         "border-style": "solid",
         "border-color": "#808080",
         "padding-left": "4px",
         "transition": "all 500ms"
     });
 });

 search.mouseout(function (event) {
     if (event != ('clicked')) {
         search.css({
             "border": "2px",
             "border-style": "solid",
             "border-color": "#c8c8c8",
             "padding-left": "4px",
             "transition": "all 500ms"
         });
     }
 });
当我悬停时,图标的作用与我想要的一样。但是,如果我单击它,它会展开,但是如果我将鼠标移离该字段,我的mouseout函数将启动。。我试着做一个条件表达式,但我知道它错了,当边界被展开时,悬停函数不应该被激活,我该怎么做呢? 由于我是新来的,并且正在努力学习这一点,我非常希望能根据答案给出解释


您可以使用CSS和javascript来实现这一点,而无需将CSS和javascript问题混为一谈。下面是一个示例,演示了您尝试执行的操作:

HTML

<div class="hoverStyles">Hover Me!</div>
<button onclick="toggleHover()">Toggle hover</button>
Javascript

function toggleHover() {
  if ($('.hoverStyles').length > 0) {
    $('.hoverStyles').addClass('noHoverStyles').removeClass('hoverStyles');
  } else {
    $('.noHoverStyles').removeClass('noHoverStyles').addClass('hoverStyles');
  }
}
[编辑]下面的笔已经更新(见注释),因此它不再与此答案中的代码完全相同,两者仍然有效


如果您有任何进一步的问题,请告诉我:D

您可以使用,而不必将CSS和javascript问题混合在一起。下面是一个示例,演示了您尝试执行的操作:

HTML

<div class="hoverStyles">Hover Me!</div>
<button onclick="toggleHover()">Toggle hover</button>
Javascript

function toggleHover() {
  if ($('.hoverStyles').length > 0) {
    $('.hoverStyles').addClass('noHoverStyles').removeClass('hoverStyles');
  } else {
    $('.noHoverStyles').removeClass('noHoverStyles').addClass('hoverStyles');
  }
}
[编辑]下面的笔已经更新(见注释),因此它不再与此答案中的代码完全相同,两者仍然有效


如果您还有任何问题,请告诉我:单击D

,您应该添加一个类(顺便说一句,该类可以定义要应用的样式)。并检查它是否有
悬停
方法。现在,您应该提供一个JSFIDLE,例如,一些人会很乐意修复您的问题。单击,您应该添加一个类(顺便说一句,该类可以定义要应用的样式)。并检查它是否有
悬停
方法。现在,您应该提供一个jsFiddle,例如,因此有些人会很乐意解决您的问题,请您回答。我明白你的意思,但是我没有把它包括在代码中,但是它也应该在hover上显示图像,所以我相信我需要jquery来处理hover上的这两件事情,对吗?不,你仍然可以用CSS来做这件事。我已经更新了我的笔,以显示如何使用悬停来更改正在显示的图片。我看到您的示例正在运行,但是我不确定我是否理解jquery。我添加了topnav#search:hover{}但是它不响应hover,jquery代码到底做了什么?它还能让我做的其他功能发挥作用吗?即长度>0确定,结果如何?根据你的评论,我猜不太好:)那么发生了什么?你没有得到图像吗?你能用你所做的更新你的小提琴,让我看看吗?我没有添加您建议的jquery代码,因为我不确定发生了什么。我可能有点难以处理,但我真的想了解发生了什么:)特别是.length>0以及条件表达式的实际作用。谢谢您的回答。我明白你的意思,但是我没有把它包括在代码中,但是它也应该在hover上显示图像,所以我相信我需要jquery来处理hover上的这两件事情,对吗?不,你仍然可以用CSS来做这件事。我已经更新了我的笔,以显示如何使用悬停来更改正在显示的图片。我看到您的示例正在运行,但是我不确定我是否理解jquery。我添加了topnav#search:hover{}但是它不响应hover,jquery代码到底做了什么?它还能让我做的其他功能发挥作用吗?即长度>0确定,结果如何?根据你的评论,我猜不太好:)那么发生了什么?你没有得到图像吗?你能用你所做的更新你的小提琴,让我看看吗?我没有添加您建议的jquery代码,因为我不确定发生了什么。我可能有点难以处理,但我真的想了解发生了什么:)特别是.length>0以及条件表达式的实际作用。