javascript 跟隨鼠標移動的提示框的一個小demo


下面提供一種跟隨鼠標移動的提示框的思路,方便在以后工作中應用,主要是應用到鼠標移動產生的數值來進行移動提示框的定位...

 

CSS代碼

 

 

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

.move{height:20px;width: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)

  }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM