Javascript mouseIsOver()不工作

Javascript mouseIsOver()不工作,javascript,jquery,Javascript,Jquery,当鼠标悬停在其父标记上时,我想更改一个标记的边距。 mouseSover()方法不进行任何更改 function der(){ if($(".experience-div li").mouseIsOver()){ $(".star").css('margin-right','10px'); } } der(); 我将其更改为is()方法,但仍然没有任何更改 > jQuery或DOM中没有mouseIsOver函数 您可以使用jQuery的: 我不建议像那样直接操

当鼠标悬停在其父标记上时,我想更改一个标记的边距。 mouseSover()方法不进行任何更改

function der(){
    if($(".experience-div li").mouseIsOver()){
        $(".star").css('margin-right','10px');
    }
}
der();
我将其更改为is()方法,但仍然没有任何更改

>


jQuery或DOM中没有
mouseIsOver
函数

您可以使用jQuery的:

我不建议像那样直接操纵样式,不过,我会使用一个类:

function der(){
    $(".experience-div li").hover(
        function() {
            $(".star").addClass('hovered');
        },
        function() {
            $(".star").removeClass('hovered')
        }
    );
}
der();

现场示例:

函数der(){
$(“.experience div li”)。悬停(
函数(){
$(“.star”).addClass(“悬停”);
},
函数(){
$(“.star”).removeClass('悬停')
}
);
}
der()
.star.hovered{
右边距:10px;
颜色:红色;
}
我是明星
  • 盘旋我
要在jQuery中侦听事件(如鼠标悬停),您需要使用
。on
功能:

$(".experience-div")
  .on('mouseenter', 'li',  function () {
    $(".star").css('margin-right', '10px');
  })
  .on('mouseleave', 'li', function () {
    $(".star").css('margin-right', '0');
  });

您不需要使用JS来完成此操作。您只需向所讨论的类添加:hover状态。

到目前为止,最好的方法是使用CSS,而不是JavaScript,假设
.star
和您悬停的内容之间存在某种关系。Crowder当鼠标悬停在CSS中的另一个元素上时,如何选择一个元素?这取决于它们之间是否存在可以使用的关系。有时候你可以,但如果它们完全不相关,你就不能。它们之间是有关系的。如果你告诉我们它们是什么,我们也许可以用CSS帮助你做到这一点。(我们可能不会,但是…)如果OP正在更改悬停元素的样式,则情况将是这样。他们不是。我们还没有看到它们的结构,所以我们不知道是否有某种兄弟姐妹或其他结构关系可以利用。
function der(){
    $(".experience-div li").hover(
        function() {
            $(".star").addClass('hovered');
        },
        function() {
            $(".star").removeClass('hovered')
        }
    );
}
der();
.star.hovered {
    margin-right: 10px;
}
$(".experience-div")
  .on('mouseenter', 'li',  function () {
    $(".star").css('margin-right', '10px');
  })
  .on('mouseleave', 'li', function () {
    $(".star").css('margin-right', '0');
  });