素材牛VIP会员

jQuery跟随鼠标移动的弹出层效果

 浏览:1109次-  评论:2次-  发布时间:2017-12-05
    Html
    Css
    Js
↑上面代码改变,会自动显示代码结果
jQuery调用版本:1.8.3
素材牛VIP永久特权
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!   充值积分   充值会员   更多说明»
代码描述:现在网站都追求人性化,很多时候当鼠标悬浮的时候,能够弹出一个层,并且此层能够跟随鼠标移动,此功能一般常见于标题内容提示,或者弹出大图效果,下面就通过代码实例介绍一下如何实现此功能。

当鼠标悬浮可以弹出跟随鼠标移动的层效果,下面就介绍一下它的实现过程。

代码注释:

(1).$(function (){}),当稳当结构完全加载完毕再去执行函数中的代码。

(2).var x = 10,var y = 10,声明两个变量并赋值,它的作用规定,鼠标指针和弹出层在水平方向和垂直方向上的距离。

(3).$("a.tooltip").mouseover(function(e){}),为具有class属性值为tooltip的a元素注册mouseover事件处理函数。

(4).this.myTitle = this.title,获取当前鼠标悬浮的链接元素的title属性值,并赋值给自定义属性myTitle 。

(5).this.title = "",将当前链接a对象的title属性值情况,之所以这样,是防止当鼠标悬浮的时候出现链接自带的title效果。

(6).var tooltip = "<div id='tooltip'>" + this.myTitle + "</div>",一个html字符串,这个就是弹出层的结构。

(7).$("body").append(tooltip),将弹出层div添加到body。

(8).$("#tooltip").css({}),设置此弹出层的样式属性值。

(9)."top": (e.pageY + y) + "px",设置div的top属性值,也就是鼠标指针在文档中的垂直坐标加上预定的y值。

(10)."left": (e.pageX + x) + "px",设置div的left属性值,也就是鼠标指针在文档中的水平坐标加上预定的x值。

(11).show("fast"),以动画方式展现弹出层,这里当然是利用的链式调用。

(12).mouseout(function (){}),为具有class属性值为tooltip的a元素注册mouseout事件处理函数。

(13).this.title = this.myTitle,还原链接a的title属性值。

(14).$("#tooltip").remove(),移出弹出层。

(15).mousemove(function (e){}),为具有class属性值为tooltip的a元素注册mousemove事件处理函数,这里就是实现跟随效果。


讨论这个常用代码(2)回答他人问题或分享心得会奖励牛币

华***n
2017年12月06日

用法写的很详细,感谢分享

回复
大***站
2021年12月16日

配色好,那就更好

回复
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取
我的积分余额:0 已下载次数:1109
所需牛币:5 开始下载

牛币获取:签到、评论、充值    » 在线充值(10牛币=1元)