jquery - 粘性标题上的动画

标签 jquery html css

我发现这段代码可以让我的网站菜单在滚动时保持在顶部。

有效,但我想添加一个文本动画,类似于此站点:http://somlaweb.com/

我的意思是用动画让菜单的高度变小。我怎样才能得到这个?

$(window).scroll(function(){
    if ($(window).scrollTop() >= 300) {
       $('nav').addClass('fixed-header');
    }
    else {
       $('nav').removeClass('fixed-header');
    }
});

html

<header>
  <div class="header-banner">
    <a href="/" class="logo"></a>

    <h1>Visit Finland</h1>

  </div>
  <div class="clear"></div>
  <nav>
    <ul>
      <li><a href="/archive">Archive</a></li>
      <li><a href="/events">Events</a></li>
      <li><a href="/contact">Contact</a></li>
    <ul>
  </nav>
</header>

CSS

.fixed-header {
  position: fixed;
  top:0; left:0;
  width: 100%; 
}

最佳答案

你可以试试这样的:

$(window).scroll(function(){
    if ($(window).scrollTop() >= 300) {
       $('header').addClass('fixed-header');
    }
    else {
       $('header').removeClass('fixed-header');
    }
});
body{
  height: 400vh;
  font-family: arial;
}

header {
  display: flex;
  align-items: center;
  background: #eee;
  box-sizing: border-box;
  padding: 10px;
  transition: .3s;
  position: fixed;
  width: 100%;
}

header .header-banner{
  flex: 1;
}

header h1{
  font-size: 18px;
}

header ul li{
  display: inline;
}

header ul li a{
  text-decoration: none;
  font-size: 12px;
  color: #777;
}

header.fixed-header{
  padding: 0px 10px;  
}

header.fixed-header h1{
  font-size: 14px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
  <div class="header-banner">
    <a href="/" class="logo"></a>

    <h1>Visit Finland</h1>

  </div>
  <div class="clear"></div>
  <nav>
    <ul>
      <li><a href="/archive">Archive</a></li>
      <li><a href="/events">Events</a></li>
      <li><a href="/contact">Contact</a></li>
    <ul>
  </nav>
</header>

关于jquery - 粘性标题上的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139190/

相关文章:

php - 也使用选择器通过 $.ajax() jquery 发送多个数据

javascript - 无法在 js 中使用 DOM

jquery - 如何将一张图片分成不同的链接

javascript - 重定向 JQuery

html - 如何将 div 与表单域对齐?

javascript - 如何设置全局单击监听器以从多个按钮获取值?

javascript - 如何在不将事件监听器放在 HTML 标签中的情况下获取事件目标/this?

javascript - 使用纯 JavaScript 从 JSON Url 读取数据并以 HTML 形式显示

css - 使用 bootstrap-sass 更改 RoR 3.2.3 中的链接样式

html - 悬停父元素时如何更改子元素的不透明度