var y; var hinner = $(".wrapper").height(); $(".wrapper").height("300px"); var hwrapper = $(".wrapper").height(); var scroll; var wrappertopoffset = $(".wrapper").offset().top; $(".wrapper").on("mousemove", function( event ) { y = event.pageY - wrappertopoffset; scroll = (y/hwrapper)*(1-hwrapper/hinner)*(hinner); $(".wrapper").stop().animate({scrollTop:scroll},0); $("#deger").text("y : " + y + " / margin : " + $(".wrapper").offset().top + "/" + y/hwrapper + " / hinner : " + hinner + " / scroll : " + scroll); });
<div class="wrapper"> <div>DIV-FIRST</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV</div> <div>DIV-LAST</div> </div> <div id="deger" > </div>
.wrapper { position:relative; margin-top:70px; margin-left:200px; background-color:brown; width:100px; overflow:hidden; } .wrapper div { width:100px; height:50px; }