Всем привет!
При написании
скрипта столкнулся с
проблемой.
Скрипт - Drag and Drop (написан очень просто).
Проблема - все работает хорошо. Но если на странице мы устанавливаем
ajax - скрипт D&D перестает сохранять через
куки положение окна. При этом в консоли пишет:
"Uncaught TypeError: Object function (E,F){return new b.fn.init(E,F)} has no method 'cookie'"
$.ajax({
url: "/mchat",
cache: false,
success: function(html){
$("#ls-ok").html(html);
}
});
Сам скрипт:
$(function(){
var dragDistanceX, dragDistanceY, self;
$('#chatbox').show();
$('#chatbox-top').mousedown(function () {
self = $('#chatbox');
dragDistanceX = -1;
dragDistanceY = -1;
document.ondragstart = function() { return false }
document.body.onselectstart = function() { return false }
$(document).bind('mousemove', dragChat);
});
$('body').mouseup(function () {
$(document).unbind('mousemove', dragChat);
document.ondragstart = function() { return true }
document.body.onselectstart = function() { return true }
$.cookie('mchatPosX', parseInt(self.css('left')));
$.cookie('mchatPosY', parseInt(self.css('top')));
})
$('#chatbox').css({
left: $.cookie('mchatPosX') || 0,
top: $.cookie('mchatPosY') || 0,
});
dragChat = function(event) {
if (dragDistanceX < 0) {
dragDistanceX = event.pageX - parseInt(self.css('left'));
dragDistanceY = event.pageY - parseInt(self.css('top'));
} else {
var leftPosition = event.pageX - dragDistanceX > 10 ? event.pageX - dragDistanceX : 0;
var topPosition = event.pageY - dragDistanceY > 10 ? event.pageY - dragDistanceY : 0;
if (leftPosition + 10 + parseInt(self.width()) >= $(window).width()) {
leftPosition = $(window).width() - parseInt(self.width());
}
if(topPosition + 10 + parseInt(self.height()) >= $(window).height()) {
topPosition = $(window).height() - parseInt(self.height());
}
self.css({
left: leftPosition,
top: topPosition
});
}
}
});
#chatbox - Окно, которое перемещается
#chatbox-top - Область на окне, при нажатии на которую скрипт активируется
Прошу, подскажите, в чем может быть проблема. С таким сталкиваюсь впервые((