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 相关文章推荐
24款热门实用的jQuery插件推荐
Dec 24 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
JavaScript动态添加数据到表单并提交的几种方式
Jun 26 Javascript
JS数组的高级使用方法示例小结
Mar 14 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 Javascript
javaScript Array api梳理
Mar 31 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python GAE、Django导出Excel的方法
2008/11/24 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python保存网页图片到本地的方法
2018/07/24 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
django序列化serializers过程解析
2019/12/14 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
python如何实时获取tcpdump输出
2020/09/16 Python
Python request中文乱码问题解决方案
2020/09/17 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
新员工欢迎词
2014/01/12 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
运动会入场词200字
2014/02/15 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
校长一岗双责责任书
2015/05/09 职场文书
入党团支部推荐意见
2015/06/02 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书