1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-18 01:58:25 +08:00
2021-08-03 15:47:55 +08:00

108 lines
3.9 KiB
JavaScript

layui.use(['jquery', 'form', 'helper'], function () {
var $ = layui.jquery;
var form = layui.form;
var helper = layui.helper;
form.on('submit(comment_answer)', function (data) {
var submit = $(this);
var answerId = $(this).data('answer-id');
var $commentForm = $('#answer-comment-form-' + answerId);
var $commentList = $('#answer-comment-list-' + answerId);
var $textarea = $(data.form).find('.layui-textarea');
var $commentCount = $('#answer-' + answerId).find('.comment-count');
var commentCount = $commentCount.data('count');
submit.attr('disabled', 'disabled').addClass('layui-btn-disabled');
$.ajax({
type: 'POST',
url: data.form.action,
data: data.field,
success: function (res) {
$.ajax({
type: 'GET',
url: '/comment/' + res.comment.id + '/info',
success: function (html) {
$commentCount.data('count', commentCount).text(commentCount);
$commentList.prepend(html);
}
});
$commentForm.hide();
$commentList.show();
$textarea.val('');
layer.msg('发表评论成功');
submit.removeAttr('disabled').removeClass('layui-btn-disabled');
},
error: function (xhr) {
var res = JSON.parse(xhr.responseText);
layer.msg(res.msg);
submit.removeAttr('disabled').removeClass('layui-btn-disabled');
}
});
return false;
});
$('body').on('click', '.answer-like', function () {
var $this = $(this);
var $likeCount = $this.prev();
var likeCount = $likeCount.data('count');
helper.checkLogin(function () {
$.ajax({
type: 'POST',
url: $this.data('url'),
success: function () {
if ($this.hasClass('liked')) {
$this.attr('title', '点赞支持').text('点赞').removeClass('liked');
likeCount--;
} else {
$this.attr('title', '取消点赞').text('已赞').addClass('liked');
likeCount++;
}
$likeCount.data('count', likeCount).text(likeCount);
}
});
});
});
$('body').on('click', '.answer-edit', function () {
window.location.href = $(this).data('url');
});
$('body').on('click', '.answer-comment', function () {
var id = $(this).data('id');
var $block = $('#answer-comment-form-' + id);
var $textarea = $block.find('textarea');
$block.toggle();
$textarea.focus();
});
$('body').on('click', '.answer-comment-cancel', function () {
var id = $(this).data('id');
$('#answer-comment-form-' + id).hide();
});
$('body').on('click', '.answer-comment-toggle', function () {
var $this = $(this);
var id = $this.data('id');
var url = $this.data('url');
var $commentList = $('#answer-comment-list-' + id);
if ($commentList.hasClass('loaded')) {
if ($this.hasClass('expanded')) {
$this.attr('title', '展开回应').removeClass('expanded');
} else {
$this.attr('title', '收起回应').addClass('expanded');
}
$commentList.toggle();
} else {
$.ajax({
type: 'GET',
url: url,
success: function (html) {
$this.attr('title', '收起回应').addClass('expanded');
$commentList.addClass('loaded').show();
$commentList.html(html);
}
});
}
});
});