Attach it to any image on your page with the simple code below, and start cropping!
$('.selection').hqyDraggable({ onDrag : function(e, source){ var data = e.data; if (data.left < 0) { data.left = 0; } if (data.top < 0) { data.top = 0; } var $s = $(source), maxWidth = $('.demo-cropping').width(), maxHeight = $('.demo-cropping').height(); if (data.left + $s.outerWidth() > maxWidth){ data.left = maxWidth - $s.outerWidth(); } if (data.top + $s.outerHeight() > maxHeight){ data.top = maxHeight - $s.outerHeight(); } } }).hqyResizable({ onResize : function(e){ var data = e.data, maxWidth = $('.demo-cropping').width(), maxHeight = $('.demo-cropping').height(); data.left = Math.max(0, data.left); data.top = Math.max(0, data.top); if (data.left + data.width > maxWidth) { data.width = maxWidth - data.left; } if (data.top + data.height > maxHeight) { data.height = maxHeight - data.top; } } });
<div class="demo-cropping"> <div class="selection"></div> </div>