WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现


Posted in Javascript onJanuary 12, 2016

根据鼠标悬停显示、隐藏,回复和引用按钮
思路及原理
原理嘛很简单,如果你阅读过一页或者两页甚至更多页 Jquery 手册的话,
那么下面的原理解释你肯定能看懂,否则请跳至代码实现区域阅读。
思路很简单,

将回复、引用按钮放置在你想要的地方,CSS 样式设置 display:none;
绑定Jquery中的hover动作到你想要鼠标悬停后显示按钮的区域
是不是很简单?要是我以前写博客肯定会就此结束,
好吧,既然授人鱼那么继续…….

特效的代码实现部分
回复、引用的HTML代码

      <div class="comment-act"><a href="#respond">回复</a> | <a href="#respond">引用</a></div>
回复、引用的CSS样式设置
.comment-act{display:none;}
Jquery( Javascript ) 代码部分
注:li.comment 是我每一条评论所在的区域
   $('li.comment').hover(//注1
 function(){
 $(this).find('div.comment-act').fadeIn(400);
 },
 function(){
 $(this).find('div.comment-act').fadeOut(400);
 });

特效的代码的加强、进阶扩展
Jquery 特效的制作往往会碰到这么一种情况,
就是有一些极端的用户,会不停的在两个有悬停动画特效的区域不停来回切换(搞测试?),
因为我们的特效显示一般都会设定一个显示时间,在这里我们设定了400毫秒,
很明显,用户的鼠标来回切换一次也就100毫秒左右,甚至更少,
不停的来回切换往往就会生成一个动画队列,即使你鼠标不动了,
特效还会按照你鼠标之前发生过的动作不停隐藏、显示,直至响应完你最后一次鼠标动作,
虽然我说的这种情况不太多见,但是如果我们的评论条数很多,
而访客又不停的上下滑动鼠标翻查内容,是不是很容易出现这种情况?
是不是很烦?
不但很烦,还会加重客户端浏览器负载,影响网站效率,更是不好的用户体验。
问题解决其实很简单,利用hover的回调函数参数终止动画队列,

$('li.comment').hover(//注1
 function(){
 $(this).find('div.comment-act').fadeIn(400);
 },
 function(){
 $(this).find('div.comment-act').fadeOut(400,function(){$(this).stop(true);});
 });

因为我们在移出鼠标的时候是想停止所有的动画显示,
所以我们在鼠标移出隐藏掉回复、引用按钮之后终止掉该区域的动画队列。
实测,目前为止MG12的博客未对此种情况做处理(懒?没必要?)。
你可以拿他的博客作为对比,呵呵!
注1:hover是一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,
它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。

显示、隐藏评论者信息
这个功能很多主题都有,旨在减小页面篇幅、提高用户体验,我的这个主题本来也是预留了这个功能,但是因为鄙人懒所以一直没有改造。最近这阵子小恙再加上本来也懒所以也一直没有折腾博客,觉得再不折腾折腾博客兴许就这么闲下来了。

望高手指正
JS代码如下:

var cmtinfo = jQuery('#cmtinfo');
if (cmtinfo.length>0){
var hideinfo = cmtinfo.find('#hide_author_info');
var showinfo = cmtinfo.find('#show_author_info');
var authorinfo = jQuery('#author_info');
authorinfo.hide();
showinfo.click(function(){jQuery(this).fadeOut(function(){hideinfo.fadeIn();});authorinfo.fadeIn();});
hideinfo.click(function(){jQuery(this).fadeOut(function(){showinfo.fadeIn();});authorinfo.fadeOut();});
}

#cmtinfo 是有信息的访客所显示访客新的一个 DIV

#hide_author_info、#show_author_info 一个是隐藏按钮一个是显示按钮

#author_info 是 #cmtinfo 的一个子 DIV
Javascript 相关文章推荐
基于jQuery的history历史记录插件
Dec 11 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
jQuery中attr()方法用法实例
Jan 05 Javascript
jQuery中delegate()方法用法实例
Jan 19 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
Bootstrap Modal遮罩弹出层代码分享
Nov 21 Javascript
纯JS实现只能输入数字的简单代码
Jun 21 Javascript
Vue 使用中的小技巧
Apr 26 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 #Javascript
基于JavaScript实现div层跟随滚动条滑动
Jan 12 #Javascript
JavaScript继承模式粗探
Jan 12 #Javascript
轻松实现Bootstrap图片轮播
Apr 20 #Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 #Javascript
学习JavaScript设计模式之策略模式
Jan 12 #Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 #Javascript
You might like
PHP无限分类的类
2007/01/02 PHP
PHP注释实例技巧
2008/10/03 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Django框架模板的使用方法示例
2019/05/25 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
社团活动总结范文
2014/04/26 职场文书
求职简历自荐信
2014/06/18 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python