Javascript mouseIsOver()不工作
当鼠标悬停在其父标记上时,我想更改一个标记的边距。 mouseSover()方法不进行任何更改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的: 我不建议像那样直接操
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');
});