Если ваши элементы div расположены так, что внутри них есть контейнер с заголовком и областью содержимого, то я думаю, что вы могли бы внести следующие изменения, чтобы привязать обработку кликов к заголовку, но применить движение к контейнеру.Кроме того, вам нужно зафиксировать начальное местоположение клика и рассчитать свои дельты движения, начиная с него, чтобы избежать скачка div:
var x = 0, y = 0;
$(document).ready(function() {
$('.movable').live('mousemove', function(event) {
var deltaX = event.pageX - x,
deltaY = event.pageY - y;
x = event.pageX;
y = event.pageY;
var movable = $('.movable');
movable.offset({
left: movable.offset().left + deltaX,
top: movable.offset().top + deltaY
});
});
$("#headerDiv")
.mousedown(function(event) {
x = event.pageX;
y = event.pageY;
$(this).parent().addClass('movable');
})
.mouseup(function() {
$(this).parent().removeClass('movable');
});
});
Я не проверил это полностью, но, похоже,хорошо работать на странице быстрого теста.