70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
//(function($) {
|
|
// "use strict";
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//})(jQuery);
|
|
|
|
|
|
(function () {
|
|
"use strict";
|
|
var Message;
|
|
Message = function (arg) {
|
|
this.text = arg.text, this.message_side = arg.message_side;
|
|
this.draw = function (_this) {
|
|
return function () {
|
|
var $message;
|
|
$message = $($('.message_template').clone().html());
|
|
$message.addClass(_this.message_side).find('.text').html(_this.text);
|
|
$('.messages').append($message);
|
|
return setTimeout(function () {
|
|
return $message.addClass('appeared');
|
|
}, 0);
|
|
};
|
|
}(this);
|
|
return this;
|
|
};
|
|
$(function () {
|
|
var getMessageText, message_side, sendMessage;
|
|
message_side = 'right';
|
|
getMessageText = function () {
|
|
var $message_input;
|
|
$message_input = $('.message_input');
|
|
return $message_input.val();
|
|
};
|
|
sendMessage = function (text) {
|
|
var $messages, message;
|
|
if (text.trim() === '') {
|
|
return;
|
|
}
|
|
$('.message_input').val('');
|
|
$messages = $('.messages');
|
|
message_side = message_side === 'left' ? 'right' : 'left';
|
|
message = new Message({
|
|
text: text,
|
|
message_side: message_side
|
|
});
|
|
message.draw();
|
|
return $messages.animate({
|
|
scrollTop: $messages.prop('scrollHeight')
|
|
}, 300);
|
|
};
|
|
$('.send_message').click(function (e) {
|
|
return sendMessage(getMessageText());
|
|
});
|
|
$('.message_input').keyup(function (e) {
|
|
if (e.which === 13) {
|
|
return sendMessage(getMessageText());
|
|
}
|
|
});
|
|
sendMessage('Hello Philip! :)');
|
|
setTimeout(function () {
|
|
return sendMessage('Hi Sandy! How are you?');
|
|
}, 1000);
|
|
return setTimeout(function () {
|
|
return sendMessage('I\'m fine, thank you!');
|
|
}, 2000);
|
|
});
|
|
}.call(this)); |