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 相关文章推荐
js二级地域选择的实现方法
Jun 17 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
js比较日期大小的方法
May 12 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
angular $watch 一个变量的变化(实例讲解)
Aug 02 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
6行代码实现微信小程序页面返回顶部效果
Dec 28 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
Dec 08 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
Aug 31 Javascript
三剑客:offset、client和scroll还傻傻分不清?
Dec 04 Javascript
js实现简单商品筛选功能
Feb 02 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 的 __FILE__ 常量
2007/01/15 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
php PDO异常处理详解
2016/11/20 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
php表单处理操作
2017/11/16 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
js快速排序的实现代码
2013/12/08 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python更新所有已安装包的操作
2020/02/13 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
python datetime处理时间小结
2020/04/16 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
python对execl 处理操作代码
2020/06/22 Python
汽车销售求职自荐信
2013/10/01 职场文书
中医专业应届生求职信
2013/11/17 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
出国英文推荐信
2014/05/10 职场文书
拉拉队口号
2014/06/16 职场文书
新店开张活动方案
2014/08/24 职场文书
公司收款委托书范本
2014/09/20 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
2014年基建工作总结
2014/12/12 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL