$(document).ready(function() { $image = $('.image'); $(window).scroll(function() { if ($(window).scrollTop() < $(".content").height() - $image.height()) { $image.css('top', $(window).scrollTop()); } }); });
body { margin-left: 100px; } .content { position: relative; padding-left: 50px; height: 1000px; background-color: #999; margin-bottom: 15px; } .end { height: 100px; background-color: black; } .image { position: absolute; top: 0; left: -30px; width: 600px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="content"> <p>Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet, Lorem ipsum dollar si amet,</p> <svg class="image" viewBox="0 0 100 100"> <path fill="blue" d="m0,10 5,-5 v80 l-10,-10" /> <path fill="#07c" d="m0,10 35,5 c5,0 5,10 5,10 v40 c0,10 -5,10 -5,10 l-35,5Z" /> </svg> </div> <footer class="end"> </footer>