jQuery scrolling by mouse position

by Snj

HTML

<div id="holder"><ul id="scroll">
    <li>Lorem ipsum.</li>
    <li>Lorem ipsum.</li>
    <li>Lorem ipsum.</li>
</ul></div>

CSS

#holder {
    background: pink;
    width: 200px;
    height: 30px;
    line-height: 30px;
    overflow: hidden;
    margin-left: 100px;
}
#scroll{
    height: 30px;
    line-height: 30px;
    margin-left: 0;
    padding: 0 10px;
}
#scroll li {
    float: left;
    padding: 0 5px;
}

JavaScript

var sum = 0;
$("#scroll li").each(function() {
    sum += $(this).width() + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('paddingRight'))
});
$("#scroll").css('width', sum);

$("#holder").mousemove(function(e) {
    x = -(((e.pageX - $('#scroll').position().left) / $("#holder").width()) * ($("#scroll").width() + parseInt($("#scroll").css('paddingLeft')) + parseInt($("#scroll").css('paddingRight')) - $("#holder").width()));

    $("#scroll").css({
        'marginLeft': x + 'px'
    });
});