【发布时间】:2016-08-22 21:02:24
【问题描述】:
嗨,
我有一个标题菜单,当用户开始向下滚动并且徽标从屏幕上移开时,它就会显示在顶部。菜单上的标志也变小了。这是我的 CSS 代码:
//<![CDATA[
$(function(){
// Check the initial Poistion of the Sticky Header
var stickyHeaderTop = $('#logo').offset().top + 160;
$(window).scroll(function(){
if( $(window).scrollTop() > stickyHeaderTop ) {
$('#logo').addClass('fixed');
} else {
$('#logo').removeClass('fixed');
}
});
});//]]>
#logo img {
height: 145px;
margin: 10px 0 0;
transition: height 1s ease 0s;
}
.fixed img {
height: 55px !important;
position: fixed;
top: 0;
z-index: 3;
}
main {height:1000px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="logo">
<img alt="" src="https://www.gravatar.com/avatar/ca71f423aadaa366bd910dfcb1a25d0b?s=48&d=identicon&r=PG">
</div>
<main>
some content
</main>
我有一个额外的 jquery 脚本,负责将“固定”类添加到 DIV。
我的问题是,虽然标志 img 的大小变化是平滑的,但定位不那么平滑,因为标志应该平稳下来,而是出现在适当的位置。
我在这里错过了什么?
谢谢。
【问题讨论】: