$(function(){ //当前页面配置 /* 引用页中设置此项 var get_review_url = '';//提交评论地址 var get_review_url = '';/评论点载地址 */ //获取评论,当评论的div存在的时候 if($(".more-comment").length != 0) { get_review(); } //阻止事件的冒泡 $(':text,textarea').keyup(function(event){ event.stoppropagation(); }); //快捷键提交评论 $("#reviewform").find('textarea').on("keydown", function(e){ e.stoppropagation(); if(e.ctrlkey && e.which ==13){ $('#reviewform').submit(); } }); }); $('.comment-textarea textarea').keyup(function(){ var self = $(this); var speed = math.max(self.get(0).scrollheight, 48); self.height(speed); }); //表单移动 var form = $('.comment-item:last'); //插入回复表单 $('.comment-box').delegate('.reply-btn','click',function(event){ var parent = $(this).closest('.comment-item'); //写入对应回复id form.find(':hidden[name=review_id]').val($(this).attr('reply')); var textarea = parent.append(form).find('textarea'); //对回复回复的处理 //textarea.text(''); //对回复回复的处理 if($(this).attr('at-user') == 'true'){ var username = $(this).parent().find('.username').text(); textarea.text('回复 @' + username + ' : '); }else{ textarea.text(''); } moveend(textarea.get(0)); event.stoppropagation(); }) $('.comment-box').delegate('.comment-item','click',function(event){ $(this).has('form').length && event.stoppropagation(); }) //点击评论框以外的地方,重置评论表单 $(document).click(function(){ if(form.find(':hidden[name=review_id]').val() != 0){ $('.more-comment').after($('.comment-box').find('form')); form.find(':hidden[name=review_id]').val(0); form.find('textarea').text(''); } }) //表单提交 //var post_review_url ='';//所引用页中必需得新设置此项 $('#reviewform').submit(function(){ var comment_btn = $(".comment-ft"); if (typeof(post_review_url)=="undefined") { //alert('post_review_url 未定义'); comment_btn.find("span").remove().end().append('js错误:post_review_url 未定义'); return false; } if (post_review_url == '') { //alert('提交网址错误'); comment_btn.find("span").remove().end().append('js错误:post_review_url 未定义'); return false; } var content = $("textarea[name='content']"); if($.trim(content.val())==''){ comment_btn.find("span").remove().end().append("内容不能为空"); return false; }else { comment_btn.find("span").remove(); } var _postform = $('#reviewform').serialize(); $.post(post_review_url,_postform,function(data){ if(data.status == 1) { if (data.review_id == 0) { comment_btn.find("span").remove().end().append("评论成功"); var html = '
'+ ''+ ''+ ' '+ '
'; html +='回复'; html += '' + data.username + data.ico + '' + '' + data.posttime + ''+ '
'+ '
'+ content.val() + '
'+ '
'; $('.comment-box h3').after(html); $('.review-count').text(parseint($('.review-count').text())+1); }else { var html = '
'+ ''+ ''+ ''+ '
回复'; html += '' + data.username + data.ico + '' + '' + data.posttime + ''+ '
'+ '
'+ '
' + data.content + '
'+ '
' '
'; //$('#' + data.review_id).after(html); $('#reviewform').before(html); } /* //移到最下面,不然,会被删除,不能获取评论了 if(form.find(':hidden[name=review_id]').val() != 0){ $('.more-comment').after($('.comment-box').find('form')); form.find(':hidden[name=review_id]').val(0); form.find('textarea').text(''); } $('.review_item_list').remove(); //重新加载评论 page = 1; get_review(); */ content.val(''); return false; } else if(data.status == 0) { comment_btn.find("span").remove().end().append(""+ data.info +""); //alert(data); } else { comment_btn.find("span").remove().end().append("--"); } },'json'); return false; }); //评论加载 //var get_review_url = '';//所引用页中必需得新设置此项 var page =1; function get_review(){ if (typeof(get_review_url)=="undefined") { //alert('get_review_url 未定义'); $('.more-comment').before('

js加载错误:get_review_url 未定义

'); return false; } if (get_review_url == '') { //alert('加载错误'); $('.more-comment').before('

js加载错误:get_review_url

'); return false; } $.get(get_review_url, { 'model_id' : $(':input[name=model_id]').val(), 'post_id' : $(':input[name=post_id]').val(), 'num' : 5, 'page' : page, 'avatar' : 'middle' }, function(data){ //是否登录做对应展示 if(data.user_id != 0){ $('#my_avatar').attr('src', data.avatar); $('#reviewform').show(); $('.login-tip').hide(); }else{ $('#my_avatar').attr('src', data.avatar); if (data.guest != 1) { $('#reviewform').hide(); } $('.login-tip').show(); } $.isnumeric(data.count) && $('.review-count').text(data.count); //$('#comment_count').text(data.count); if(data.list && (typeof data.list == 'object')){ $.each(data.list, function(i, v){ var html = '
'+ ''+ ''+ ' '+ '
'; html +='回复'; html += '' + v.username + v.ico + '' + '' + v.posttime + ''+ '
'+ '
'+ v.content + '
'+ '
'; $('.more-comment').before(html); }); page = page+1; } if(data.review && (typeof data.review == 'object')){ $.each(data.review, function(i, v){ var html = '
'+ ''+ ''+ ''+ '
回复'; html += '' + v.username + v.ico + '' + '' + v.posttime + ''+ '
'+ '
'+ '
' + v.content + '
'+ '
' '
'; $('#' + v.review_id).after(html); }); } var review_count = data.count; if($('.review_item_list').length < review_count){ $('#more_count').text(review_count - $('.review_item_list').length); $('.more-comment').show(); }else{ $('.more-comment').hide(); } }, 'json' ); } //将光标移动到textarea末尾 function moveend(obj){ if(obj==null) return false; if(obj.offsetwidth<=0&&obj.offsetheight<=0) {//隐藏时,不能focus return false; } obj.focus(); var len = obj.value.length; if (document.selection) { var sel = obj.createtextrange(); sel.movestart('character',len); sel.collapse(); sel.select(); } else if (typeof obj.selectionstart == 'number' && typeof obj.selectionend == 'number') { obj.selectionstart = obj.selectionend = len; } }