• javascript 跟随鼠标移动的提示框的一个小demo


    下面提供一种跟随鼠标移动的提示框的思路,方便在以后工作中应用,主要是应用到鼠标移动产生的数值来进行移动提示框的定位...

    CSS代码

     

    .box{height:100px;100px;background:orange;position:relative;margin:40px;}

    .move{height:20px;20px;background:red;position:absolute;left:0px;top:0px;display:none;}


    HTML代码

     

    <div id="wrap">

           <div class="box">

           <div class="move">提示</div>

           </div>

           

            <div class="box">

            <div class="move">提示</div>

            </div>

            

            <div class="box">

            <div class="move">提示</div>

            </div>

    </div>

    JAVASCRIPT代码

     

    window.onload = function(){

    //获取要执行事件的元素 

    var oWrap = document.getElementById('wrap');

    //在IE8下不支持 getElementsByClassName,请自行写个函数或用其它方式代替

    var aBox = oWrap.getElementsByClassName('box');

    var aMove = oWrap.getElementsByClassName('move');

    //遍历所有的box元素

     for(var i=0; i<aBox.length ; i++){

        //获取当前触发事件的元素

        (function(i){

           //在box元素范围内移动的时候那么就会产生相应的数值

           aBox[i].onmousemove=function(ev){

            var oEvent = ev || event;

           //获取鼠标的当前位置

            var disX = oEvent.clientX - aBox[i].offsetLeft;

            var disY = oEvent.clientY - aBox[i].offsetTop;

            //如果鼠标位置超出了范围那么就让隐藏

            if (disX >= this.offsetWidth) {

               aMove[i].style.display = 'none';

            }else if (disY >= this.offsetHeight) {

            aMove[i].style.display='none';

            };

            //定义move元素移动的位置

            aMove[i].style.left = disX + 'px';

            aMove[i].style.top = disY + 'px';

            }

             //鼠标进入的时候显示

             aBox[i].onmouseover = function(){

            aMove[i].style.display = 'block';

             }

            //鼠标移除的时候隐藏

             aBox[i].onmouseout = function(){

              aMove[i].style.display = 'none';

             }

         })(i)

      }

    }

     

  • 相关阅读:
    Oracle建立表空间和用户
    Session详解
    Spring中AOP方式实现多数据源切换
    Filter(过滤器)学习
    不用加号运算
    数字转化为十六进制
    1px像素问题(移动端经典问题)
    对postcss-plugin-px2rem的研究
    npm cache clean --force
    对async/await的研究
  • 原文地址:https://www.cnblogs.com/zion0707/p/3889380.html
Copyright © 2020-2023  润新知