Note: Please try to use mousewheel when scrolling down. Also please be nice to mousewheel. Move it slowly.
I have a little question about scrolling. I am trying to reduce the header height when page scrolled to the down as most creative websites do. But in this case when I was tried to scroll down with mouse screen was shaking. Also sometimes its do with scrolling with mousewheel. All files added to the js fiddle. Please look at jsfiddle below. I hope I can express myself. Thanks in advance.
$(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>
You add <div class="header">
. After header-top
and header-bottom
move into <div class="header">
And add css;
.header { height:190px;}
If you using position:fixed
insted position:sticky
this could be useful.
The problem will be solved.
$(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>