Smooth scroll header with fixed position

前端 未结 2 504
名媛妹妹
名媛妹妹 2021-02-06 07:04

How to create smooth scroll when I change the position to fixed. I try to add the animation but it does not work. Better use jquery animation();

2条回答
  •  灰色年华
    2021-02-06 07:46

    You can use @keyframes to add some transition effects to the scroll.

    $(window).scroll(function() {
      var sticky = $('.mobile-menu'),
        scroll = $(window).scrollTop();
       
      if (scroll >= 40) { 
        sticky.addClass('fixed'); }
      else { 
       sticky.removeClass('fixed');
    
    }
    });
    header {
      padding: 20px 40px;
      background: gray;
      width: 100%;
      
      -webkit-transition: all 0.5s ease;
      -moz-transition: position 10s;
      -ms-transition: position 10s;
      -o-transition: position 10s;
      transition: all 0.5s ease;
    }
    section {
      height: 150vh;
    }
    
    
    .fixed {
      position: fixed;
      top: 0;
      left: 0;
      animation: smoothScroll 1s forwards;
    }
    @keyframes smoothScroll {
    	0% {
    		transform: translateY(-40px);
    	}
    	100% {
    		transform: translateY(0px);
    	}
    }
    
    
    Text here
    Sugar plum muffin cookie pastry oat cake icing candy canes chocolate. Gummi bears chupa chups fruitcake dessert jelly. Muffin cookie ice cream soufflé pastry lollipop gingerbread sweet. Unerdwear.com bonbon candy marzipan bonbon gummies chocolate cake gummi bears powder. Unerdwear.com tart halvah chocolate cake dragée liquorice. Sugar plum chocolate bar pastry liquorice dragée jelly powder. Jelly tootsie roll applicake caramels. Marzipan candy tootsie roll donut. Gummies ice cream macaroon applicake.

提交回复
热议问题