计算鼠标至元素中心的距离

首先将一个元素定位在当前页面的中心位置(自适应),然后用mousemove 去监听鼠标,实时计算鼠标当前位置到元素中心的距离。
html

<html>
<head></head>
<body>
<a id='text'></a>
<div id='center_box'></div>
</body>
</html>

css

#center_box{
    width:100px;
    height:100px;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

js

<script>
(function(){
    /*变量解析:
    txt 用来存储计算出的距离 */
    var txt,$a=$('#text');
    //计算函数
    function calculateDistance(moveX,moveY){
    //获取div 的中心点坐标
    var $divx=document.documentElement.clientWidth/2;
    var $divy=document.documentElement.clientHeight/2;
    //鼠标在div 右侧,计算出的值是负数,所以要用abs 绝对值来转成正数
    var newx=Math.abs($divx-moveX);
    var newy=Math.abs($divy-moveY);
    return newx>=newy?newx:newy;
    }
    //现在计算函数准备好了,我们来写最重要的一步,监听事件
    $(document).mousemove(function(event){
        var e=event || window.event;
        txt=calculateDistance(e.clientX,e.clientY);
        $a.text=txt;
    })
})()
//window 自执行函数,实时监听,
!function(){
    function divtop(){
        $('#center_box').css('margin-top',(document.documentElement.clientHeight-$div[0].clientHeight)/2);
    }
    divtop();
}(window)
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值