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 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
javascript 判断中文字符长度的函数代码
Aug 27 Javascript
javascript与Python快速排序实例对比
Aug 10 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
Jan 19 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 Javascript
浅谈$_FILES数组为空的原因
Feb 16 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
Mar 23 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
手挽手带你学React之React-router4.x的使用
Feb 14 Javascript
使用post方法实现json往返传输数据的方法
Mar 30 Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 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
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
使用js画图之正弦曲线
2015/01/12 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python中 map()函数的用法详解
2018/07/10 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
什么是lambda函数
2013/09/17 面试题
会计专业毕业自荐书范文
2014/02/08 职场文书
大课间体育活动方案
2014/03/12 职场文书
大学生求职信
2014/06/17 职场文书
中学生打架检讨书
2014/10/13 职场文书
爱心募捐感谢信
2015/01/22 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
Java 多线程协作作业之信号同步
2022/05/11 Java/Android