jQuery中的onHover事件

jQuery中的onHover事件,jquery,Jquery,我试图用一个onHover事件来更改右边距值,该事件在光标实际打开时触发。例如,1,当光标未打开时返回正常。1 这就是我所做的: $(document).ready(function(){ if $(".sidebar .navicon").hover(function() { $(".sidebarwrap").css('margin-right', "0"); }); else{ $(".sidebarwrap").

我试图用一个onHover事件来更改右边距值,该事件在光标实际打开时触发。例如,1,当光标未打开时返回正常。1

这就是我所做的:

$(document).ready(function(){
    if 
        $(".sidebar .navicon").hover(function() {
        $(".sidebarwrap").css('margin-right', "0");
    });

    else{
        $(".sidebarwrap").css('margin-right', "-345px");
    }
});
我做错了什么


编辑:如果我将光标移离.navicon(它是.sidebarwrap的子对象)右边距将变回“-345px”(它的默认值),我不想要它!在CSS中会容易得多,但正如我所说的,我不能做这种事情,因为我想通过一个影响其子CSS的事件来影响父CSS

悬停事件使用两个函数,而不是使用
if
else
,请检查以下简单示例:

$(document).ready(function(){
    $(".sidebar .navicon").hover(function() {
        $(".sidebarwrap").css('margin-left', "50px");
    }, function() {
        $(".sidebarwrap").css('margin-left', "0");
    });
});


悬停
事件与两个函数一起工作,而不是与
if
else
一起工作,请检查以下简单示例:

$(document).ready(function(){
    $(".sidebar .navicon").hover(function() {
        $(".sidebarwrap").css('margin-left', "50px");
    }, function() {
        $(".sidebarwrap").css('margin-left', "0");
    });
});


.hover
是事件-也许您应该在css中使用类来执行此操作?我不能,我正在尝试更改将触发事件本身的元素的父元素的css值。我需要jQuery或javascript来处理这类东西
。hover
是事件-也许你应该在css中使用类来完成这项工作?我不能,我正在尝试更改一个元素的css值,该元素是触发事件本身的元素的父元素。我需要jQuery或javascript来处理这类东西,用.sidebar.navicon替换div,这可能会帮助他…;)我对你的答案投了赞成票,我想这就是他想要的,如果你认为有用的话,就对我以前的评论投赞成票@lmgonzalves…你的提示非常有用,但如果我移动光标。侧边栏包裹开始“抖动”(边距右侧的值变化非常快),可能是因为光标不在。侧边栏。navicon。也许我能更好地解释我自己。。我要编辑第一篇文章@hiru如果您想在
悬停
上设置边距,但不想在鼠标不在时“重置”边距,您可以使用
鼠标指针
事件来代替
悬停
。请看一个例子。如果这不是您想要的,那么您需要更好地解释您的需求。这是我在纯CSS中所做的工作的一个版本:当光标悬停在边栏上时,您可以看到边栏触发器,但我只想在光标位于该符号上时触发边栏,并保持打开状态,(此:)但当它在边栏上时就不会了。用.sidebar.navicon替换div,这可能会帮助他…;)我对你的答案投了赞成票,我想这就是他想要的,如果你认为有用的话,就对我以前的评论投赞成票@lmgonzalves…你的提示非常有用,但如果我移动光标。侧边栏包裹开始“抖动”(边距右侧的值变化非常快),可能是因为光标不在。侧边栏。navicon。也许我能更好地解释我自己。。我要编辑第一篇文章@hiru如果您想在
悬停
上设置边距,但不想在鼠标不在时“重置”边距,您可以使用
鼠标指针
事件来代替
悬停
。请看一个例子。如果这不是您想要的,那么您需要更好地解释您的需求。这是我在纯CSS中所做的一个版本:当光标悬停在边栏上时,您可以看到边栏触发器,但我只想在光标位于该符号上时触发边栏,并保持打开状态,(此:),但当它位于边栏上时不会触发边栏本身