Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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
jQuery slideUp未正确执行_Jquery_Html - Fatal编程技术网

jQuery slideUp未正确执行

jQuery slideUp未正确执行,jquery,html,Jquery,Html,我有一个div元素容器,其中包含另一个具有更多输入类型按钮元素的div。当我mouseout第二个div元素时,我希望它隐藏自己,但当我将鼠标从一个按钮移动到另一个按钮时,就会发生这种情况 HTML: jsiddle链接:您可以使用悬停而不是鼠标出 $(function(){ $("#settings").hover(function () { }, function () { $(this).slideUp(); }); }); 为完整性而编辑

我有一个div元素
容器
,其中包含另一个具有更多
输入类型按钮
元素的div。当我
mouseout
第二个div元素时,我希望它隐藏自己,但当我将鼠标从一个按钮移动到另一个按钮时,就会发生这种情况

HTML:


jsiddle链接:

您可以使用
悬停
而不是
鼠标出

$(function(){    
    $("#settings").hover(function () {
    }, function () {
        $(this).slideUp();
    });
});
为完整性而编辑

jQuery

使用mouseleave()可以解决您的问题。这里展示了一个漂亮的

希望它能帮助

我认为你应该使用而不是。这是因为如果鼠标指针离开任何子元素以及选定元素,就会触发mouseout事件。有关更多信息,请参阅这些页面

因此,您上面的示例变成:

$(document).ready(function(){
$("#settings").mouseleave(function(){
    $(this).slideUp();
    });
});

我希望您将它放在
$(document.ready())中或$(函数(){})`我总是使用
$(document).ready()出于安全目的和代码可读性。方法简单,答案简单。谢谢,先生。同样感谢您的链接,我将在将来记住这一点。@Psionix很高兴能提供帮助。。。!!
$(function(){    
    $("#settings").hover(function () {
    }, function () {
        $(this).slideUp();
    });
});
$(document).ready(function () {
    $("#settings").mouseleave(function () {
        $(this).slideUp();
    });
});  
$(document).ready(function(){
$("#settings").mouseleave(function(){
    $(this).slideUp();
    });
});