JSFiddle - React, Tailwind, and code Playground
HTML
<input type="button" value="Move" />
<div class="parent">
<div class="sticky">sticky</div>
</div>
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
<hr />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
<hr />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
<hr />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
<hr />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br />
dgfdhgfdsh<br...
CSS
html, body {
margin: 0;
padding: 0;
}
input {
position: absolute;
top: 10px;
left: 250px;
z-index: 1000;
}
.parent {
background: #aaa;
border-radius: 30px;
height: 300px;
-webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
transition: -webkit-transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.sticky {
position: -webkit-sticky;
position: sticky;
top: 50px;
left: 50px;
background: blue;
padding: 10px;
border-radius: 10px;
width: 80px;
}
JavaScript
var top1 = 40;
document.querySelector('input').onclick = function() {
var elem = document.querySelector('.parent');
elem.style.transform = 'translateY(' + top1 + 'px)';
top1 = 40 - top1;
};