Moving a image in jQuery (image crop)
<p>My code is working fine, but Im getting a few problems. The first problem regards to the browsers ability to drag images around, when it happens a "stop signal" appears, and it breaks the code. Sometimes the signal appears (firefox), sometimes not. I dont know why. The second problem regards to the text outside the div. When the user drag the image, the text outside gets selected. Who can I solve it?</p>

<p>If you run the code, you need a 140px width image.</p>

<p>The code:</p>

<pre><code>&lt;div style="position: relative; height: 100px; width: 100px; overflow: hidden;" class="img-profile"&gt;
    &lt;div id="crop" style="position: absolute; width: 140px; left: -20px; height: 140px; top: 0px; background: url(/image/user/teste.jpg) no-repeat; cursor: move;"&gt;&lt;/div&gt;
&lt;/div&gt;

var x = 0; 
var y = 0;

$(document).ready(function () {

    $("#crop").mousedown(function () {

        var crop = $(this);

        $(document).mousemove(function (e) {

        var x_movement = 0;
            var y_movement = 0;

            if (x == e.pageX || x == 0) {
                x = e.pageX;
            } else {
                x_movement = e.pageX - x;
                x = e.pageX;
            }

            if (y == e.pageY || y == 0) {
                y = e.pageY;
            } else {
                y_movement = e.pageY - y;
                y = e.pageY;
            }

            var left = parseFloat(crop.css("left")) + x_movement;
            var min_left = 0;
            var max_left = -40;
            if (left &gt;= min_left) left = min_left;
            if (left &lt;= max_left) left = max_left;
            crop.css("left", left);

            var top = parseFloat(crop.css("top")) + y_movement;
            var min_top = 0;
            var max_top = (parseFloat(crop.css("height")) - 100) * -1;
            if (top &gt;= min_top) top = min_top;
            if (top &lt;= max_top) top = max_top;
            crop.css("top", top);

        });

    });

    $(document).mouseup(function () {

        x = 0;
        y = 0;
        $(document).unbind("mousemove");

    });

});
</code></pre>
