尽管过去了一年多,这个系列还是可以继续的。因为乱梦使然我离开这里,离开技术很久。有时候想,我是不是太高估自己了,很多做不到的事情我想做好,做不好的事情我想做到。就像这博客的评论区……也就止于此吧。在别人评论自己的地方,我想怎样不重要。

把目前用到的东西整理出来,希望能给博友们启发,仅供参考:

一、下拉按钮显示评论

com_arrow.jpg

效果是借鉴mg12的动态加载文章内容,但是没搞懂ajax,所以就成了现在这个样子……还是会加载评论区内容,所以会卡。坚持这个风格的原因很简单,就是我讨厌评论把页面拖得很长,又怕分页影响SEO。

js部分(需要jquery支持):

  1. //下拉式评论区
  2. $(".comment-list").css('display','none');
  3. var expand='<a href="javascript:void(0);" title="隐藏评论" class="expand"></a>';
  4. var collapse='<a href="javascript:void(0);" title="展开评论" class="collapse"></a>';
  5. $('div#comments h4').append(expand);
  6. $('div#comments h4').append(collapse);
  7. $('a.expand').css('display','none');
  8. $('a.collapse').click(function() {
  9. $('.comment-list').slideDown('slow');
  10. $('a.collapse').css('display','none');
  11. $('a.expand').css('display','inline');
  12. $('a.expand').click(function() {
  13. $('.comment-list').slideUp('slow');
  14. $('a.expand').css('display','none');
  15. $('a.collapse').css('display','inline'); })})
  16. });

css部分:

  1. #comments h4 a.expand,
  2. #comments h4 a.collapse {
  3. background:url("images/openicons.gif") 0 -336px no-repeat;
  4. height:16px;
  5. width:16px;
  6. display:block;
  7. text-indent:-999em;
  8. float:right;
  9. }
  10. #comments h4 a.expand {
  11. background-position:0 -320px;
  12. }

好玩的是,很多人看不到会以为没评论。手动广告党们悻悻而去,沙发党却常兴高采烈的坐个屁股墩儿……如果有高手喜欢,希望能研究出ajax加载的效果,默认不显示或只显示前几条评论。这样想看评论的人可以去点开浏览全部,不想看的能享受更快速和简短的页面,岂不两全其美?

二、Done?

com_done.jpg

写完了?——不少博友觉得我这个“防垃圾评论”功能很酷,打个勾确认下才能发表。其实这是从typecho坛友那找来的防君子不防小人之招……仅做js表现没有和程序功能挂钩,意味着spam机器人可以完全无视此框框。所以咳,趣味性的意义更大。至少说明手动广告党们也是很憨的~

修改模板文件comments.php,将评论按钮那句改为:

  1. <!-- 勾选框 -->
  2. <div style="clear:both"><input type="checkbox" onclick="agreesubmit(this)" name="agreecheck"/>
  3. <label>Done? </label>
  4. </div>
  5. <!-- 提交按钮 -->
  6. <div class="post-button"><input class="submit" name="submit" type="submit" value="<?php _e( 'Submit Comment') ?>" tabindex="7" disabled="disabled" /></div>
  7. <!-- js脚本 -->
  8. <script type="text/javascript">//<![CDATA[
  9. var checkobj;
  10. function agreesubmit(el){
  11. checkobj=el;
  12. if (document.all||document.getElementById){
  13. for (i=0;i<checkobj.form.length;i++){
  14. var tempobj=checkobj.form.elements[i];
  15. if(tempobj.type.toLowerCase()=="submit")
  16. tempobj.disabled=!checkobj.checked;
  17. }
  18. }
  19. }
  20.  
  21. function defaultagree(el){
  22. if (!document.all && !document.getElementById){
  23. if (window.checkobj && checkobj.checked)
  24. return true;
  25. else{
  26. alert("Say something to continue plz");
  27. return false;
  28. }
  29. }
  30. }
  31. </script>
  32. <script type="text/javascript">
  33. document.forms.comment_form.agreecheck.checked=false;
  34. //]]>
  35. </script>

三、小墙判断这是 Spam!

(Last modified: 2011-08-31 16:36)