【发布时间】:2016-06-03 23:07:20
【问题描述】:
我的网站上有两个菜单栏。第一个(黑色)固定在页面顶部。第二个(橙色)会变粘,一旦黑条碰到它。在同一时刻,出现了一个小的徽标图像,它通过使用名为“inactve”的类和“display:none”来隐藏,并通过删除类“inactive”并添加类“active”和“display:inline-block”来显示”。
这里是动画 gif: https://abload.de/img/animation1lujbu.gif
这里是现场版: http://mydivision.net/
但是从 "display: none" 到 "display: inline-block" 的变化是相当突然的。请任何人都可以通过从左到右显示徽标来实现一个很好的过渡,以便将社交图标轻轻推到右侧?
这是我的代码:
HTML
<div class="topbar-container">
<div id="slc" class="notonmobile scroll-logo inactive">
<a href="http://mydivision.net/" title="MYDIVISION.NET | Home">
<img src="http://mydivision.net/wp-content/themes/v1/img/scroll-logo-small.png" alt="Logo" />
</a>
</div>
<div id="social_container">
...
</div>
...
</div>
</div>
CSS
#topbar {display: inline-block; width: 100%; padding: 0; height: 40px; background: #000; position: fixed; top: 0; z-index: 9999;}
.topbar-container {margin: 6px 20px; line-height: 24px;}
.scroll-logo.inactive {display: none;}
.scroll-logo.active {display: inline-block; float: left; margin-right: 20px;}
.scroll-logo img {height: 24px; padding: 3px 0;}
#social_container {float: left; width: 192px;}
jQuery
jQuery(document).ready(function($) {
$(window).scroll(function() {
if ($(this).scrollTop() >= $('.sticky-element-active').offset().top - 40) {
$("#slc").addClass("active");
$("#slc").removeClass("inactive");
} else {
$("#slc").removeClass("active");
$("#slc").addClass("inactive");
}
});
});
【问题讨论】: