zoukankan      html  css  js  c++  java
  • JS之鼠标在盒子中的位置

    需求:鼠标进入盒子之后只要移动,哪怕1像素,随时更换里面的内容(鼠标在盒子中的坐标)
    技术点:新事件,onmousemove,在事件源上哪怕移动1像素也会触动这个事件
    一定程度上模拟了定时器
    步骤:
    1.老三步和新五步
    2.获取鼠标在整个页面的位置
    3.获取盒子在整页面的位置
    4.用鼠标的位置减去盒子的位置赋值给盒子的内容

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
        <title></title>
    <style type="text/css">
    .box{
         300px;
        height: 200px;
        background-color:pink;
        margin: 100px;
        text-align: center;
        padding-top: 100px;
        cursor: pointer; 
    }
    </style>
    </head>
    <body>
    <div class="box"></div>
    <script type="text/javascript">
    //需求:鼠标进入盒子之后只要移动,哪怕1像素,随时更换里面的内容(鼠标在盒子中的坐标)
    //技术点:新事件,onmousemove,在事件源上哪怕移动1像素也会触动这个事件
    //一定程度上模拟了定时器
    //步骤:
    //1.老三步和新五步
    //2.获取鼠标在整个页面的位置
    //3.获取盒子在整页面的位置
    //4.用鼠标的位置减去盒子的位置赋值给盒子的内容
    //
    
    //1.老三步和新五步
    var div = document.getElementsTagName("div")[0];
    div.onmousemove = function(event){
    //兼容获取事件对象
    event = event || window.event;
    //获取鼠标在整个页面的位置
    var pagex = event.pageX || scroll().left + event.clientX;
    var pagey = event.pageY || scroll().top + event.clientY;
    //获取盒子在整个页面的位置
    var divx = div.offsetLeft;
    var divy = div.offsetTop;
    //4.用鼠标的位置减去盒子的位置赋值给盒子的内容
    var targetx = pagex - divx;
    var targety = pagey - divy;
    this.innerHTML="鼠标在盒子的X位置:"+targetx+"px;<br>鼠标在盒子的Y位置:"+targety+"px.";
    
    }
    
    
    </script>
    </body>
    </html>
  • 相关阅读:
    WebDAV
    招牌老鸭汤(图)-张生记(双菱店)-杭州-大众点评网
    How to install and use Headless Chrome on OSX | Object Partners
    k8s的yaml说明
    config-server-bus动态更新配置
    springboot~maven集成开发里的docker构建
    vue~环境搭建
    logback日志文件位置动态指定
    HDU 4649 Professor Tian(反状态压缩dp,概率)
    android 内部存储 安装apk
  • 原文地址:https://www.cnblogs.com/creazybeauty/p/8182667.html
Copyright © 2011-2022 走看看