通用元素跟随鼠标移动效果

封装鼠标指针定位是一件很有意义的事情,这样在日常开发中就不需要再为鼠标指针定位问题而犯愁了。

设计思路:能够根据传递的具体对象,以及相对鼠标指针的偏移值,即命令该对象能够跟随鼠标移动。

JS代码:

function getMousePos(o,x,y,event){                //o-->对象;x,y-->相对鼠标指针的偏移距离;event-->事件对象;
    var posX = 0,posY = 0;                        //临时变量
    var event = event || window.event;            //标准化事件对象
    if(event.pageX || event.pageY){               //获取鼠标指针的当前坐标值
        posX = event.pageX;
        posY = event.pageY;
    }else if(event.clientX || event.clientY){
        posX = event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        posY = event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    };
    o.style.position = ‘absolute‘;                //定义当前对象为绝对位置
    o.style.left = (posX + x) + ‘px‘;             //用鼠标指针的x轴坐标和传入偏移值设置对象x轴坐标
    o.style.top = (posY + y) + ‘px‘;              //用鼠标指针的y轴坐标和传入偏移值设置对象y轴坐标
}

HTML页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>通用元素跟随鼠标移动效果</title>
    <style>
    #div1{ width: 200px; height: 200px; background-color: red; }
    </style>
    <script src="js/mousePos.js"></script>
    <script>
        window.onload = function(){
            var oDiv1 = document.getElementById(‘div1‘);
            document.onmousemove = function(event){
                getMousePos(oDiv1,10,10,event);
            }
        }
    </script>
</head>
<body>
    <div id="div1">我是移动元素</div>
</body>
</html>
时间: 2024-10-09 17:40:49

通用元素跟随鼠标移动效果的相关文章

javascript元素跟随鼠标在指定区域运动

元素跟随鼠标在指定区域运动通常是用在商城图片的放大镜中,下面是完整的Demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标区域</title> <style type="text/css"> *{margin:0;padding:0;} .area{ width:

跟随鼠标移动效果

<!doctype html> <html> <head> <title></title> <meta charset = "utf-8"/> </head> <style type="text/css"> #imgId{ position:absolute; } </style> <script type="text/javascript&q

WPF DragDrop事件元素跟随

前一段时间项目里面要实现一个鼠标拖动一个元素到另外一个元素上面并且赋值的功能,由于要在surface上运行,拖动的时候手指会挡住系统默认的拖动图标,导致用户意识不到自己是不是在拖动着东西,所以要解决这个问题. 初始想法 一开始在的设想是,拖动开始时新建一个元素要拖动的元素,然后设置次元素跟随鼠标移动,这里遇到个问题就是,当使用DoDragDrop事件的时候,捕捉不到鼠标的坐标变动,以至于无法让新建的元素跟随移动.要实现功能必须放弃DoDragDrop事件,但是当时很多已经写好的功能都是围绕这个事

实现div在固定区域跟随鼠标移动点击拖动而产生的变化

一.思路 1.在外层增加一个 DIV 容器,并设置好容器的大小.(即:宽和高) 当容器存在边框的时候,由于这里还没找到获取的方法,所以,在容器边框大于 0 的时候,获得的容器的限制区域的坐标会有误差. 为了避免这情况,可以在多加一次容器,有边框样式的在外层,无边框样子的在内层. 例: <style> #mainContainer { border: 10px solid #990000; width: 600px; height: 300px; } #innerContainer { widt

JS实现导航条效果——current跟随鼠标hover移动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

CSS3跟随鼠标的眼睛转动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jQuery-鼠标经过显示大图并跟随鼠标效果插件

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=281 今天看完了<JavaScript语言精粹>这本书,还有时间,就决定写写jQuery插件练练手,实现的效果是,鼠标移到缩略图上会显示该图的大图,并且大图跟随鼠标移动:或是移动到提示文字上,也可以显示图片.并且含有方向判别功能,具体来说就是如果缩略图在页面的左半部分,则大图显示在鼠标的右侧,如果缩略图在页面的右半部

Android自定义View之上拉、下拉列表 头部元素跟随 缩放、平移效果的实现

滑动ListView列表然后 listView上边的视图 跟随着上拉或者下拉的距离 自动放大或者缩小  视图里边元素自动平移的效果 思路很简单 根据listView 的滑动距离去计算图片和文字应该平移的距离 例如顶部视图本来高度为500px  我们定义视图收缩到200px为最小高度,那么视图向上滑动的最大距离就为300px 当我们将列表向上滑动300px的时候试图就应该滑到最小高度了   继续上滑,不继续缩小视图高度即可 同理 下拉的时候 下拉300px 此时视图应该从200px高度变为500p

Ant Design -- 图片可拖拽效果,图片跟随鼠标移动

Ant Design 图片可拖拽效果,图片跟随鼠标移动,需计算鼠标在图片中与图片左上角的X轴的距离和鼠标在图片中与图片左上角的Y轴的距离. constructor(props) { super(props); this.dragDrop = false; // 图片是否被拖动中 this.apartX = 0; // 鼠标在图片中与图片左上角的X轴的距离 this.apartY = 0; //鼠标在图片中与图片左上角的Y轴的距离 this.state = { value: 1, previewV