【发布时间】:2017-02-20 23:02:10
【问题描述】:
我正在尝试获取徽标以更改滚动状态。 (例如:www.digitalblb.com)
它应该如何工作; 1.大Logo原来显示 - 滚动更改为 2. 迷你标志 - 具有360'的旋转过渡效果
header.html
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<%= link_to image_tag("biglogo-160x80.png", alt: "BigLogo"), root_url,class:"menu__biglogo" %>
<%= link_to image_tag("minilogo.png", alt: "MiniLogo"), root_url, class:"menu__minilogo" %>
</div>
CSS /* 过渡标志*/
.menu__minilogo{
opacity: 1;
visibility: visible;
margin-left: 60px;
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
.menu__biglogo{
width: 220px;
overflow: hidden;
}
JS
$(document).ready(function(){
var logo = $(".navbar-header");
logo.find(".menu__minilogo").hide();
$(window).scroll(function() { // check if scroll event happened
if ($(document).scrollTop() > 50) { // check if user scrolled more than 50 from top of the browser window
$(".navbar").css("background-color", "#fff"); // if yes, then change the color of class "navbar-fixed-top" to white (#f8f8f8)
$(".nav a").css('color', '#0a4f6f');
logo.find(".menu__biglogo").hide();
logo.find(".menu__minilogo").show();
console.log(logo.find(".menu__biglogo"))
} else {
$(".navbar").css("background-color", "transparent"); // if not, change it back to transparent
$(".nav a").css('color', 'white');
logo.find(".menu__minilogo").hide();
logo.find(".menu__biglogo").show();
}
});
});
当前状态。 显示大徽标,滚动显示迷你徽标,但没有任何旋转过渡。
有时,当点击网站时,徽标会随机堆叠在彼此之上,但在刷新该页面时,它会再次恢复为大徽标(所以这只是加载时的一个小错误)。
任何帮助将不胜感激。谢谢
【问题讨论】: