gpt4 book ai didi

jquery - 当另一个 div 覆盖它时,如何取消 div 上的 JQuery 动画

转载 作者:行者123 更新时间:2023-11-28 06:26:16 24 4
gpt4 key购买 nike

我尝试在我网站的一侧制作某种菜单,其中会显示菜单的一小部分,当您将鼠标悬停在其上时,它会滑出以便您可以单击它。菜单的其余部分位于主网站 div 下方,问题是当您将鼠标悬停在主网站下方的 div 上时,您仍然会激活不应该发生的动画。

<body>
<div id="container">
<div id="header">
<img id="headerimg" src="pokebalicon.png" />
</div>
<div class="sidediv" id="first" style="margin-top: 100px;">
<p></p>
</div>
<div id="mainpage">
text
</div>
</div>
</body>

CSS

#container {
width: 820px;
height: 700px;
margin: 100px auto;
position: relative;
}
#header {
padding: 10px;
height: 100px;
width: 100%;
background-color: transparent;
overflow: hidden;
}
#mainpage {
height: 600px;
width: 100%;
background-color: #FFFFFF;
border-radius: 10px;
padding: 20px;
border: 1px solid #D5D4D4;
position: absolute;
pointer-events: none;
}
.sidediv{
position: absolute;
left: 721px;
top: 80px;
height: 40px;
width: 170px;
text-align: center;
margin-top: 50px;
border-radius: 0 5px 5px 0;
background-image: url(wood.png);
background-size: cover;
}

还有我的 JQuery

$(document).ready(function(){
$('#first').mouseenter(function() {
$('#first').animate({
left:'841px'
});
});
$('#first').mouseleave(function() {
$('#first').animate({
left:'721px'
});
});
});

有人知道如何解决我的问题吗?为了澄清,这里有一些图片

View of the menu http://imgur.com/q8dq7n7这是当我将鼠标悬停在菜单上时发生的情况 View of the menu while hovering over it http://imgur.com/FvDCa4E菜单位于白色 div 下方,但当鼠标悬停在白色 div 和菜单上时,它会启动动画并尝试滑出,这是不应该发生的。

最佳答案

您必须更改侧边栏的结构。基本上,您必须有一个用于鼠标悬停的元素,我们称它为 .arrowside 和一个用于您的内容,我们正在将您的 sidediv 作为父元素。

<div id="container">
<div id="header">
<img id="headerimg" src="https://g.twimg.com/about/feature-corporate/image/typography.png" />
</div>

<div id="mainpage">
text
</div>

<div class="sidediv" style="margin-top: 100px;">
<span class="consentside"> asdas </span>
<span class="arrowside"> > > > </span>
</div>
<div class="sidediv" style="margin-top: 150px;">
<span class="consentside"> 4234234 </span>
<span class="arrowside"> > > > </span>
</div>

</div>

我还加了一点css

.arrowside{
float : right;
}

最后是你的 JQuery,我做了一个 self = this 这样父元素就不会丢失。这是它的工作原理;所以我们希望每个菜单项都有 3 个元素,一个是菜单的提示,另一个是内容,显然我们有父 div。基本上,鼠标进入菜单的一点点,然后菜单将移出,现在要让菜单返回,我们需要将鼠标移出父 div。

$('.sidediv').each(function(){
var self = this;
$(self).find('.arrowside').mouseenter(function(){
$(self).stop().animate({width: '390px'}, 1000);
});
$(self).mouseleave(function(){
$(self).stop().animate({width: '170'}, 1000)
});

});

这是 JSFiddle .

关于jquery - 当另一个 div 覆盖它时,如何取消 div 上的 JQuery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35266679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com