CSS3和jQuery实现跟随鼠标方位的Hover特效

这篇文章主要介绍了基于css3jquery实现跟随鼠标方位的hover特效的相关资料,需要的朋友可以参考下

今天我们来学习如何通过CSS3的特性和jQuery来创建一个感知鼠标滑动方向的hover效果。当鼠标滑进的时候,遮罩层会从上次鼠标滑出的方向滑入,当鼠标滑出的时候,遮罩层会跟随鼠标,从鼠标滑出的方向滑出。这是一个十分有趣的效果。
我们使用无序列表来组织缩略图和描述遮罩层:

登录后复制CSS3和jQuery实现跟随鼠标方位的Hover特效

Natalie & Justin Cleaning by Justin Younger

这些列表项将会向左浮动,并且相对定位,因为我们绝对定位描述遮罩层:

立即学习“前端免费学习笔记(深入)”;

.da-thumbs li {float: left;margin: 5px;background: #fff;padding: 8px;position: relative;box-shadow: 0 1px 3px rgba(0,0,0,0.1);}.da-thumbs li a,.da-thumbs li a img {display: block;position: relative;}.da-thumbs li a {overflow: hidden;}.da-thumbs li a p {position: absolute;background: rgba(75,75,75,0.7);width: 100%;height: 100%;}

登录后复制

接下来我们将这样做:根据鼠标进入的位置,我们将“from”样式应用给遮罩层,它设置了遮罩层的初始位置。然后我们将使用过渡并将添加最终状态的样式。这样遮罩层就滑入了。当我们离开元素时,我们再次应用“from”样式给遮罩层(尽管现在实际上是滑出)并去除之前的最终状态样式。

嗯,以下就是这个小插件的核心:

this.$el.on( 'mouseenter.hoverdir, mouseleave.hoverdir', function( event ) {var $el = $( this ),$hoverElem = $el.find( 'p' ),direction = self._getDir( $el, { x : event.pageX, y : event.pageY } ),styleCSS = self._getStyle( direction );if( event.type === 'mouseenter' ) {$hoverElem.hide().css( styleCSS.from );clearTimeout( self.tmhover );self.tmhover = setTimeout( function() {$hoverElem.show( 0, function() {var $el = $( this );if( self.support ) {$el.css( 'transition', self.transitionProp );}self._applyAnimation( $el, styleCSS.to, self.options.speed );} );}, self.options.hoverDelay );}else {if( self.support ) {$hoverElem.css( 'transition', self.transitionProp );}clearTimeout( self.tmhover );self._applyAnimation( $hoverElem, styleCSS.from, self.options.speed );}} );

登录后复制

我们主要是给列表项绑定‘mouseenter’和‘mouseleave’事件,通过_getDir函数我们获得鼠标滑进或滑出的方向(想象检测区域是个被分成四个三角形的矩形)。

你将会看到,在第二个demo中,我们添加了延迟,这样当鼠标从一个角落移到另一个角落的时候不会发生太多的动画。
我希望你可以喜欢这个小特效并觉得很有用!

如果浏览器不支持CSS过渡将会使用jQuery动画。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

jQuery 如何实现一个滑动按钮的开关

JavaScript如何判断浏览器对CSS3属性是否支持

以上就是CSS3和jQuery实现跟随鼠标方位的Hover特效的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2895789.html

(0)
上一篇 2025年3月10日 23:03:36
下一篇 2025年3月10日 18:38:58

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js和CSS3实现卡牌旋转切换效果

    这篇文章主要为大家详细介绍了js css3实现卡牌旋转切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 我们经常会在游戏里看到一些几张卡牌左右切换的效果,中间的一张最突出醒目,向左或向右滑动可切换到另一张,今天我们就用CSS3来实…

    2025年3月10日
    200
  • 如何利用CSS3实现3D翻书效果

    这篇文章主要介绍了css3实现3d翻书效果,基于css3新属性animation及transform实现类似翻书效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 先上效果图:(样式有点丑,可以忽略一下下,效果出来了就好,后期加到其他项…

    2025年3月10日
    200
  • 利用CSS3来匹配横屏竖屏的方法

    这篇文章主要介绍了使用css3来匹配横屏竖屏的简单方法,主要使用到了css3中新加入的@media,需要的朋友可以参考下 写在同一个CSS中  @media screen and (orientation: portrait) {     …

    编程技术 2025年3月10日
    200
  • 使用CSS3编写灰阶滤镜来制作黑白照片效果

    这篇文章主要介绍了使用css3编写灰阶滤镜来制作黑白照片效果的方法,css3中的filter十分强大,文中还介绍了对ie兼容的方法,需要的朋友可以参考下 CSS3 中的滤镜(filter)功能让我们轻松方便简单的处理图片,而不需要使用 Ph…

    2025年3月10日
    200
  • 利用CSS3制作的鼠标悬停时边框旋转

    本文给大家分享一段css3代码实现鼠标悬停时边框旋转的效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下 下面以2017年新年祝福语为例给大家展示下效果。 纯CSS3实现的鼠标悬停时边框旋转的效果: 实现代码如下,代码中注释已…

    2025年3月10日
    200
  • 两种CSS3圆角和渐变的常用功能

    这篇文章主要介绍了css3圆角和渐变2种常用功能详解 的相关资料,需要的朋友可以参考下 Css3圆角讲解:想必大家对于图片,背景圆角,都不陌生吧, 圆角语法:border-radius:圆角值; CSS3圆角的优点 传统的圆角生成方案,必须…

    2025年3月10日 编程技术
    200
  • 关于HTML5和CSS3实现时钟的效果

    利用html5,css实现钟摆效果 ,在项目中经常会遇到,今天把基于html5+css3实现简单的时钟效果的实现代码分享到脚本之家平台,需要的朋友参考下吧 目的: 利用html5,css实现钟摆效果 知识点: 1) 利用position/l…

    编程技术 2025年3月10日
    200
  • CSS3中使用RGBa来调节透明度的方法

    这篇文章主要介绍了css3中使用rgba来调节透明度的教程,rgba是rgb色彩模型的一个扩展,这个缩写词代表红绿蓝三原色的首字母,alpha值代表颜色的透明度或者说不透明度,需要的朋友可以参考下 在 CSS3 中,增加了一个 opacit…

    2025年3月10日
    200
  • 使用 css3 实现圆形进度条的方法

    本篇文章主要介绍了使用 css3 实现圆形进度条的示例,这里整理了详细的代码,非常具有实用价值,需要的朋友可以参考下 在开发微信小程序的时候,遇到圆形进度条的需求。使用canvas绘图比较麻烦: 1、为了实现在不同屏幕上面的适配,必须动态的…

    2025年3月10日
    200
  • 利用SVG和CSS3实现炫酷的边框动画

    这篇文章主要介绍了利用svg和css3来实现一个炫酷的边框动画,不使用javascript使得编写过程轻松了不少,需要的朋友可以参考下 今天我们来探索一下Carl Philipe Brenner的网站上一个微妙而有趣的动画效果。当鼠标经过网…

    2025年3月10日
    200

发表回复

登录后才能评论