how to make a smooth block offset as in the example
jQuery(".list-product .card").mousemove( function(e){ var offset = jQuery(this).offset(); var xPos = e.pageX - offset.left; var yPos = e.pageY - offset.top; var mouseXPercent = Math.round(xPos / jQuery(this).width() * 100); var mouseYPercent = Math.round(yPos / jQuery(this).height() * 100); jQuery(this).children('.data-content').each( function(){ var diffX = jQuery('.list-product .item').width() - jQuery(this).width(); var diffY = jQuery('.list-product .item').height() - jQuery(this).height(); var myX = -25 - diffX * (mouseXPercent / 1500); var myY = 25 + diffY * (mouseYPercent / 1080); var cssObj = { 'left': myX + 'px', 'top': myY + 'px' } jQuery(this).animate({left: myX, top: myY},{duration: 50, queue: false, easing: 'linear'}); }); }); .list-product { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -5px; margin-right: -30px; padding: 50px 0 120px; } .list-product .item { padding: 0 30px; max-width: 25%; -webkit-flex-basis: 25%; -ms-flex-preferred-size: 25%; flex-basis: 25%; height: 100%; } .list-product .item .card { height: 185px; position: relative; border: 3px solid #000; } .list-product .item .card .data-content { position: absolute; top: 25px; left: -25px; right: 0; } .list-product .item .card .data-content .data-img { padding-bottom: 185px; width: -webkit-calc(100% - 25px); width: calc(100% - 25px); background-position: center; background-repeat: no-repeat; -webkit-background-size: cover; background-size: cover; } .list-product .item .card .data-content h2 { margin: 25px 0 0; font-size: 18px; color: #000; font-weight: 400; text-transform: uppercase; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="list-product"> <div class="item"> <div class="card"> <div class="data-content" style="left: -23.86px; top: 20.7787px;"> <div class="data-img" style="background-image: url(https://avatars.mds.yandex.net/get-pdb/194708/80fd536d-1d43-4e1a-91d0-be10c85a18b9/s280)"></div> <h2>срезанные цветы</h2> </div> </div> </div> <div class="item"> <div class="card"> <div class="data-content" style="left: -23.824px; top: 23.2157px;"> <div class="data-img" style="background-image: url(https://avatars.mds.yandex.net/get-pdb/194708/80fd536d-1d43-4e1a-91d0-be10c85a18b9/s280)"></div> <h2>горшочные растения</h2> </div> </div> </div> </div>