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 构造函数 面相对象学习必备知识
Jun 09 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
JS的千分位算法实现思路
Jul 31 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
JavaScript 面向对象与原型
Apr 10 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
Dec 20 Javascript
jQuery实现使用sort方法对json数据排序的方法
Apr 17 jQuery
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 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 strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
python 动态调用函数实例解析
2019/10/21 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
快速创建python 虚拟环境
2020/11/28 Python
IE滤镜与CSS3效果(详细整理分享)
2013/01/25 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
优秀村官事迹材料
2014/01/10 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
根叔历年演讲稿
2014/05/20 职场文书
商务司机岗位职责
2015/04/10 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电