【发布时间】:2019-12-16 06:29:51
【问题描述】:
我正在尝试使用 jQuery 创建一个动画,当用户将鼠标悬停在由 id 'navigation' 标识的列表项上时,它允许气泡出现在悬停事件上。我创建了一个由 id 'navigation_blob' 标识的 div,我希望它出现在每个悬停的项目上。然而,由于某种原因,高度保持在 0。
$(document).ready(function() {
$('<div id="navigation_blob"></div>').css({
width: 0,
height: $('#navigation li:first a').height() + 10
}).appendTo('#navigation');
$('#navigation a').hover(
function() { // Mouse over function
$('#navigation_blob').animate({
width: $(this).width() + 10,
left: $(this).position().left
}, {
duration: 'slow',
easing: 'easeOutElastic',
queue: false
});
},
function() { // Mouse out function
$('#navigation_blob').animate({
width: $(this).width() + 10,
left: $(this).position().left
}, {
duration: 'slow',
easing: 'easeOutCirc',
queue: false
});
}
);
});
#head {
padding-left: 20px;
}
#navigation {
margin: 0 0 10px 0;
padding: 0;
list-style-type: none;
position: relative;
z-index: 1;
/* overwrite base */
float: none;
width: 100%;
}
#navigation ul {
margin: 0;
padding: 0;
}
#navigation li {
display: inline;
margin: 0;
padding: 0;
}
#navigation a {
color: #015287;
display: inline-block;
padding: 5px;
text-decoration: none;
}
#navigation_blob {
top: 0;
background-color: #c0ffee;
position: absolute;
z-index: -1;
border-radius: 15px;
}
p#intro {
clear: both;
margin-top: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="key-technical-skillsets">
<h5>Key Technical Skill Sets</h5>
<div id="navigation">
<ol>
<li><a href="#">jQuery</a></li>
<li><a href="#">PHP</a></li>
<li><a href="#">MySQL<a/></li>
<li><a href="#">CSS</a></li>
<li><a href="#">Adobe Photoshop</a></li>
<li><a href="#">Wordpress</a></li>
</ol>
</div>
【问题讨论】:
-
仅供参考:这里有一个错字:
MySQL<a/>结束斜线应该在字母a之前 -
你最好提供jsfiddle..
-
对我来说看起来不错...jsfiddle.net/my5aad9d :).. ** 只是缺少我必须添加的 jquery UI 以实现缓动效果 **.. ;)