154 lines
4.4 KiB
JavaScript
154 lines
4.4 KiB
JavaScript
|
var commentBtn = $('#comment-submit');
|
|||
|
var slider;
|
|||
|
$(document).ready(function(e) {
|
|||
|
comment.Load(0);
|
|||
|
if(_this.slider)
|
|||
|
{
|
|||
|
$('ul.image-gallery-slider').slidesjs({
|
|||
|
navigation: true,
|
|||
|
start: 1,
|
|||
|
play: {
|
|||
|
auto: true,
|
|||
|
interval: 5000,
|
|||
|
},
|
|||
|
pagination: {
|
|||
|
active: false
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
commentBtn.click(function(){
|
|||
|
$.ajax({
|
|||
|
type:"POST",
|
|||
|
url:"/voice/comment/" + _this.vid,
|
|||
|
data:$('#comment-form').serialize(),
|
|||
|
success:function(data){
|
|||
|
if(typeof(data) != 'object')
|
|||
|
{
|
|||
|
comment.Alert('服务器掉链子啦,请稍后再试','alert-danger');
|
|||
|
return false;
|
|||
|
}
|
|||
|
if( ! $.isEmptyObject(data.error))
|
|||
|
{
|
|||
|
comment.Alert(data.error,'alert-danger');
|
|||
|
return false;
|
|||
|
}
|
|||
|
comment.posted(data);
|
|||
|
},
|
|||
|
timeout: 10000,
|
|||
|
error: function(){
|
|||
|
comment.Alert("处理中发生错误,请重试或稍后再试",'alert-danger');
|
|||
|
},
|
|||
|
beforeSend: function(){
|
|||
|
commentBtn.attr('disabled','disabled');
|
|||
|
commentBtn.hide();
|
|||
|
$('#comment-progress').show();
|
|||
|
},
|
|||
|
complete: function(){
|
|||
|
commentBtn.removeAttr('disabled');
|
|||
|
commentBtn.show();
|
|||
|
$('#comment-progress').hide();
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
});
|
|||
|
var comment = {
|
|||
|
Alert : function(content,type){
|
|||
|
$('#comment-ctl-msg').remove();
|
|||
|
$('#comment-body').after(comment.AlertBox(content,type));
|
|||
|
},
|
|||
|
AlertBox : function(content,type){
|
|||
|
html = '<div class="alert alert-dismissable '+ type +'" id="comment-ctl-msg">'
|
|||
|
+ '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'
|
|||
|
+ content
|
|||
|
+ '</div>';
|
|||
|
return html;
|
|||
|
},
|
|||
|
posted : function(data){
|
|||
|
$('#comment-body').val('');
|
|||
|
$('#comment-list').children('.alert').remove();
|
|||
|
if($('#comment-list').children('.comments').length < 1)
|
|||
|
{
|
|||
|
$('#comment-list').append(comment.mediabox(data));
|
|||
|
}else{
|
|||
|
$('#comment-list').children('.comments').last().after(comment.mediabox(data));
|
|||
|
}
|
|||
|
},
|
|||
|
mediabox : function(data){
|
|||
|
if($.isEmptyObject(data.avatar))
|
|||
|
{
|
|||
|
avatar = "";
|
|||
|
}else{
|
|||
|
avatar = '<a class="pull-left" href="#">'
|
|||
|
+ '<img class="media-object" src="' + data.avatar + '" alt="">'
|
|||
|
+ '</a>';
|
|||
|
}
|
|||
|
if(data.replyid == null)
|
|||
|
{
|
|||
|
reply = "";
|
|||
|
}else{
|
|||
|
more = data.contentr.length > 20 ? "...":"";
|
|||
|
reply = '<blockquote>'
|
|||
|
+ '<small>'+data.authorr + ': ' + data.contentr.substring(0,20) + more +'</small>'
|
|||
|
+ '</blockquote>';
|
|||
|
}
|
|||
|
html = '<div class="media comments" id="comment-list-'+data.id+'">'
|
|||
|
+ avatar
|
|||
|
+ '<div class="media-body">'
|
|||
|
+ '<span class="pull-right"><a href="javascript:void(0);" onclick="comment.reply('+data.id+')">回复</a></span>'
|
|||
|
+ '<span class="pull-right">' + data.time + ' </span>'
|
|||
|
+ '<h4 class="media-heading">' + data.author + '</h4>'
|
|||
|
+ reply
|
|||
|
+ data.content
|
|||
|
+ '</div>'
|
|||
|
+ '</div>';
|
|||
|
return html;
|
|||
|
},
|
|||
|
Load : function(page){
|
|||
|
$.ajax({
|
|||
|
type:"POST",
|
|||
|
url:"/voice/comment/" + _this.vid,
|
|||
|
data:"page="+page,
|
|||
|
success:function(data){
|
|||
|
if(typeof(data) != 'object')
|
|||
|
{
|
|||
|
$('#comment-list').html(comment.AlertBox('评论读取出错,<a href="javascript:void(0);" onclick="comment.Load(0)">请重试</a>','alert-danger'));
|
|||
|
return false;
|
|||
|
}
|
|||
|
if(data.comments.length >0)
|
|||
|
{
|
|||
|
comment.Append(data);
|
|||
|
}else{
|
|||
|
$('#comment-list').html(comment.AlertBox('暂时还没有人发表意见哦','alert-info'));
|
|||
|
}
|
|||
|
},
|
|||
|
timeout: 10000,
|
|||
|
error: function(){
|
|||
|
$('#comment-list').html(comment.AlertBox('评论读取出错,<a href="javascript:void(0);" onclick="comment.Load(0)">请重试</a>','alert-danger'));
|
|||
|
},
|
|||
|
beforeSend: function(){
|
|||
|
$('#comment-list').remove('.alert');
|
|||
|
$('#comment-list').remove('.comments');
|
|||
|
$('#comment-fetch-progress').show();
|
|||
|
},
|
|||
|
complete: function(){
|
|||
|
$('#comment-fetch-progress').hide();
|
|||
|
}
|
|||
|
});
|
|||
|
},
|
|||
|
Append : function(data)
|
|||
|
{
|
|||
|
html = "";
|
|||
|
for(i in data.comments)
|
|||
|
{
|
|||
|
html += comment.mediabox(data.comments[i]);
|
|||
|
}
|
|||
|
html += data.paginator;
|
|||
|
$('#comment-list').html(html);
|
|||
|
},
|
|||
|
reply : function(id){
|
|||
|
$('#comment-body').prevAll('.alert').remove();
|
|||
|
msg = '回复 ' + $('#comment-list-'+id).find('.media-heading').text();
|
|||
|
input = '<input type="hidden" name="reply" value="'+id+'" />';
|
|||
|
$('#comment-body').before(comment.AlertBox(msg+input,'alert-info'));
|
|||
|
}
|
|||
|
}; //comment
|