WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
发布时间:2016-12-30 来源:查字典编辑
摘要:根据鼠标悬停显示、隐藏,回复和引用按钮思路及原理原理嘛很简单,如果你阅读过一页或者两页甚至更多页Jquery手册的话,那么下面的原理解释你肯...

根据鼠标悬停显示、隐藏,回复和引用按钮

思路及原理

原理嘛很简单,如果你阅读过一页或者两页甚至更多页 Jquery 手册的话,

那么下面的原理解释你肯定能看懂,否则请跳至代码实现区域阅读。

思路很简单,

将回复、引用按钮放置在你想要的地方,CSS 样式设置 display:none;

绑定Jquery中的hover动作到你想要鼠标悬停后显示按钮的区域

是不是很简单?要是我以前写博客肯定会就此结束,

好吧,既然授人鱼那么继续…….

特效的代码实现部分

回复、引用的HTML代码

复制代码 代码如下:

<div><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教程学习
编程开发子分类