javascript - 使 Logo 在滚动时缩小到导航栏中

标签 javascript jquery css

我有一个 div,它的高度比导航栏大(120px 对比 75px 导航栏)。每当有人开始滚动时,我希望 Logo 过渡到与导航栏相同的高度。我试图切换一个 CSS 类,但没有成功,我忽略了什么?我正在使用 Bootstrap 导航栏。

这是固定导航的 HTML:

<div class="navbar-header">
    <button class="navbar-toggle btn btn-default" data-toggle="collapse" type="button">
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
    </button>
      <a href="/" class="navbar-brand">
        <div id="floating-logo">Logo</div>
      </a>
</div>

这是 CSS 类:

#floating-logo {
    margin: -15px 50px 0 0;
    background-color: #FF9009;
    height: 120px;
    color: #FFF;
    line-height: 120px;
    width: 190px;
    text-align: center;
    padding: 0 7px;
}

.tiny{
    height: 75px;
}

这里是 jquery:

$(window).on("scroll touchmove", function () {
    $('#floating-logo').toggleClass('tiny', $(document).scrollTop() > 0);
});

我什至包括了一个 jsfiddle:https://jsfiddle.net/jkjmr6/2f4ofnsn/

最佳答案

您需要缩小 img,而不是 div。 试试看

.tiny img {
    height: 20px;
}

关于javascript - 使 Logo 在滚动时缩小到导航栏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30361393/

相关文章:

css - 使用 CSS 自定义滚动条

javascript - 将 '0001-01-01T00:00:00' UTC 转换为 GMT+1 会增加 58 分 45 秒

javascript - 如何添加箭头图标以展开和折叠带有可展开行的 Angular Mat-Table 中的任何行?

JavaScript ES6 生成器在下一个方法之前捕获错误

javascript - 独立为同一类的元素设置动画

javascript - 谁能发现这个 SVG/Javascript 函数哪里出了问题?

javascript - jwt.verify 在 token 过期时也返回 res

javascript - 在响应式 div 中居中 div 的最佳方式

css - 填充导致 div 扩展到超出父级

css - 为什么 "font"会忽略 CSS 中的 "line-height"而 "font-size"不会?