代码之家  ›  专栏  ›  技术社区  ›  Ali Özen

向下滚动时标题在抖动

  •  1
  • Ali Özen  · 技术社区  · 7 年前

    注意:向下滚动时请尝试使用鼠标滚轮。也请善待鼠标轮。慢慢移动。

    $(document).ready(function () {
    	$(window).scroll(function () {
        if ($(window).scrollTop() >= 30) {
          $('.header-bottom').addClass('sticky');
          $('.header-bottom').css('line-height','80px');
        } else {
          $('.header-bottom').removeClass('sticky');
          $('.header-bottom').css('line-height','160px');
        }
      });
    });
    body {
      margin: 0;
    }
    .header-top {
      line-height:30px;
      background: blue;
    }
    .header-bottom {
      line-height:160px;
      background: red;
      -webkit-transition: .45s;
      -moz-transition: .45s;
      -ms-transition: .45s;
      -o-transition: .45s;
      transition: .45s;
    }
    .sticky {
      position: sticky;
      top:0;
      width: 100%;
    }
    
    .content {
      margin-top: 20px;
    }
    
    .content > div {
      margin-bottom: 100px;
    }
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <div class="header-top">Content</div>
    <div class="header-bottom">Content</div>
    <div class="content">
      <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora nobis, suscipit consequuntur! Neque modi libero praesentium rerum, pariatur, assumenda obcaecati laudantium officia iste excepturi, molestias quibusdam quae sed nihil laborum.</div>
      <div>Necessitatibus, omnis odit ipsam, repudiandae beatae minima! Voluptates molestias vitae fuga officiis, aperiam earum quas laboriosam cupiditate hic vero reiciendis, numquam corporis, assumenda rem iure expedita animi magnam perferendis delectus.</div>
      <div>Eum odit hic delectus vel facilis nisi cupiditate ad enim recusandae ex, commodi sunt ullam distinctio, architecto quam nulla cumque possimus nihil qui unde magni provident ratione obcaecati fuga. Beatae.</div>
      <div>Iusto repellendus dolore atque architecto consequatur magni nulla animi possimus reiciendis, soluta similique recusandae voluptate reprehenderit, aspernatur repellat ab provident facere magnam sit unde, accusantium explicabo. Ducimus odit aliquid, minima!</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
    </div>
    2 回复  |  直到 7 年前
        1
  •  1
  •   KagitmiAdam    7 年前

    你加上 <div class="header"> header-top header-bottom 移入 <

    添加css; .header { height:190px;}

    如果你使用 position:fixed position:sticky 这可能有用。

    $(document).ready(function () {
    	$(window).scroll(function () {
        if ($(window).scrollTop() > 30) {
          $('.header-bottom').addClass('sticky');
        } else {
          $('.header-bottom').removeClass('sticky');
        }
      });
    });
    body {
      margin: 0;
    }
    .header {
      height:190px;
    }
    .header-top {
      line-height:30px;
      background: blue;
    }
    .header-bottom {
      line-height:160px;
      background: red;
      -webkit-transition: .5s;
      -moz-transition: .5s;
      -ms-transition: .5s;
      -o-transition: .5s;
      transition: .5s;
    }
    .sticky {
      position: fixed;
      line-height:80px;
      top:0;
      width: 100%;
    }
    
    .content {
      margin-top: 20px;
    }
    
    .content > div {
      margin-bottom: 100px;
    }
    
    .margin {
      margin-top:190px;
    }
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <div class="header">
      <div class="header-top">Content</div>
      <div class="header-bottom">Content</div>
    </div>
    <div class="content">
      <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora nobis, suscipit consequuntur! Neque modi libero praesentium rerum, pariatur, assumenda obcaecati laudantium officia iste excepturi, molestias quibusdam quae sed nihil laborum.</div>
      <div>Necessitatibus, omnis odit ipsam, repudiandae beatae minima! Voluptates molestias vitae fuga officiis, aperiam earum quas laboriosam cupiditate hic vero reiciendis, numquam corporis, assumenda rem iure expedita animi magnam perferendis delectus.</div>
      <div>Eum odit hic delectus vel facilis nisi cupiditate ad enim recusandae ex, commodi sunt ullam distinctio, architecto quam nulla cumque possimus nihil qui unde magni provident ratione obcaecati fuga. Beatae.</div>
      <div>Iusto repellendus dolore atque architecto consequatur magni nulla animi possimus reiciendis, soluta similique recusandae voluptate reprehenderit, aspernatur repellat ab provident facere magnam sit unde, accusantium explicabo. Ducimus odit aliquid, minima!</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
    </div>
        2
  •  1
  •   evgeni fotia    7 年前

    position: fixed; 而不是 position: sticky; 在粘糊糊的班级里

    	$(window).scroll(function () {
        if ($(window).scrollTop() >= 30) {
          $('.header-bottom').addClass('sticky');
          $('.header-bottom').css('line-height','80px');
          $('.content').css('margin-top','120px');
        }else {
          $('.header-bottom').removeClass('sticky');
          $('.header-bottom').css('line-height','160px');
          $('.content').css('margin-top','20px');
        }
      });
    body {
      margin: 0;
    }
    .header-top {
      line-height:30px;
      background: blue;
    }
    .header-bottom {
      line-height:160px;
      background: red;
      -webkit-transition: .45s;
      -moz-transition: .45s;
      -ms-transition: .45s;
      -o-transition: .45s;
      transition: .45s;
    }
    .sticky {
      position: fixed;
      top:0;
      width: 100%;
    }
    
    .content {
      margin-top: 20px;
      -webkit-transition: .45s;
      -moz-transition: .45s;
      -ms-transition: .45s;
      -o-transition: .45s;
      transition: .45s;
    }
    
    .content > div {
      margin-bottom: 100px;
    }
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <div class="header-top">Content</div>
    <div class="header-bottom">Content</div>
    <div class="content">
      <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora nobis, suscipit consequuntur! Neque modi libero praesentium rerum, pariatur, assumenda obcaecati laudantium officia iste excepturi, molestias quibusdam quae sed nihil laborum.</div>
      <div>Necessitatibus, omnis odit ipsam, repudiandae beatae minima! Voluptates molestias vitae fuga officiis, aperiam earum quas laboriosam cupiditate hic vero reiciendis, numquam corporis, assumenda rem iure expedita animi magnam perferendis delectus.</div>
      <div>Eum odit hic delectus vel facilis nisi cupiditate ad enim recusandae ex, commodi sunt ullam distinctio, architecto quam nulla cumque possimus nihil qui unde magni provident ratione obcaecati fuga. Beatae.</div>
      <div>Iusto repellendus dolore atque architecto consequatur magni nulla animi possimus reiciendis, soluta similique recusandae voluptate reprehenderit, aspernatur repellat ab provident facere magnam sit unde, accusantium explicabo. Ducimus odit aliquid, minima!</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
      <div>Et cum sapiente placeat quis. Aut nobis ea amet aliquid, voluptatibus laudantium, atque doloremque accusantium nulla iste tempore nemo. Totam non eos distinctio. Quaerat, dolorem, possimus. Dolores molestiae nam natus.</div>
    </div>
    推荐文章