WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现

 更新时间:2016年01月12日 15:05:41   作者:稍息少年  
这篇文章主要介绍了WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现,顺带显示和隐藏评论者信息的实现方法,非常实用,需要的朋友可以参考下

根据鼠标悬停显示、隐藏,回复和引用按钮
思路及原理
原理嘛很简单,如果你阅读过一页或者两页甚至更多页 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

相关文章

  • Cropper.js入门之在HTML中实现交互式图像裁剪

    Cropper.js入门之在HTML中实现交互式图像裁剪

    这篇文章主要为大家介绍了Cropper.js入门之在HTML中实现交互式图像裁剪示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • js由下向上不断上升冒气泡效果实例

    js由下向上不断上升冒气泡效果实例

    这篇文章主要介绍了js由下向上不断上升冒气泡效果,实例分析了javascript操作鼠标事件、图片及样式的相关技巧,需要的朋友可以参考下
    2015-05-05
  • JS实现倒计时(天数、时、分、秒)

    JS实现倒计时(天数、时、分、秒)

    这篇文章主要为大家详细介绍了JS实现倒计时,精确到天数、时、分、秒,还为大家分享了parseInt() 函数的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • js向上无缝滚动,网站公告效果 具体代码

    js向上无缝滚动,网站公告效果 具体代码

    这篇文章主要介绍了js向上无缝滚动,网站公告效果,有需要的朋友可以参考一下
    2013-11-11
  • JavaScript+CSS实现模态框效果

    JavaScript+CSS实现模态框效果

    这篇文章主要为大家详细介绍了JavaScript+CSS实现模态框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Javascript实现拖拽排序的代码

    Javascript实现拖拽排序的代码

    这篇文章主要介绍了Javascript实现拖拽排序的代码,本文在vue运行环境下给大家演示下效果图,对js拖拽排序实例代码感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • 实例分析Array.from(arr)与[...arr]到底有何不同

    实例分析Array.from(arr)与[...arr]到底有何不同

    这篇文章通过实例主要给大家分析介绍了关于Array.from(arr)与[...arr]到底有何不同的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 一文教会你微信小程序如何实现登录

    一文教会你微信小程序如何实现登录

    微信小程序页面画好后,需要开始做一系列和用户的交互功能了,首先就是登录,这篇文章主要给大家介绍了关于微信小程序如何实现登录的相关资料,需要的朋友可以参考下
    2022-07-07
  • 原生js实现轮播图的示例代码

    原生js实现轮播图的示例代码

    本篇文章主要介绍了原生js实现轮播图的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 微信小程序学习总结(四)事件与冒泡实例分析

    微信小程序学习总结(四)事件与冒泡实例分析

    这篇文章主要介绍了微信小程序学习总结(四)事件与冒泡,结合实例形式分析了微信小程序事件、冒泡、数据获取相关机制、原理与操作注意事项,需要的朋友可以参考下
    2020-06-06

最新评论