Dom實現div跟隨鼠標


  由於本人是菜鳥對javascrit理解不深入,如果疏漏請大家多多包涵多多題型。近來看到網頁上的地圖上有個東西跟着鼠標動,上面顯示着X和Y的坐標,通過學習和理解終於自己完成了一個。遺憾的是FF上不兼容,但是還是拿出來請大家多多評論指正。下面請看代碼:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" >
 3 <head>
 4     <title>無標題頁</title>
 5     <script type="text/javascript">
 6  function load(){
 7   
 8   var xPoint=window.event.clientX;
 9   var yPoint=window.event.clientY;
10   div2.innerHTML="X="+xPoint+",Y="+yPoint;
11   div2.style.marginLeft=xPoint+"px";
12   div2.style.marginTop=yPoint+"px";
13   div1.onmousemove=dOnmousemove;
14  }
15    function dOnmousemove(){
16     var div=document.getElementById("div1");
17      var xPoint=window.event.clientX;
18      var yPoint=window.event.clientY;
19      div2.innerHTML="X="+xPoint+",Y="+yPoint;
20     div2.style.marginLeft=xPoint+"px";
21     div2.style.marginTop=yPoint+"px";
22      
23    
24    }
25    document.onmousemove=load;
26    
27    
28     </script>
29 </head>
30 <body onload="load()"style="background-color:Red">
31 <div id="div1" style="width:100%;height:100%" >
32  <div id="div2" style=" background-color:Yellow; width:100px;height:20px;">ddd</div>
33  </div>
34 
35 
36 </body>
37 </html>


   思路:

            1.確認跟隨鼠標的是一個div。

                 在javascript中在在頁面上彈出的大部分都是一個層而不是單獨的頁面。所以首先定義一個跟隨鼠標的層div2。

            2.獲取X坐標和Y坐標。

                  由於是跟隨鼠標所以必須獲取鼠標移動時X的坐標和Y的坐標,所以使用window.event.clientX和window.event.clientY來獲取。

           3.讓X坐標和Y坐標顯示在div中。

                 要讓div中顯示X的坐標和Y的坐標使用div2.innerHTML="X="+xPoint+",Y="+yPoint;

           4.控制div跟隨鼠標時的位置。

                  要控制div跟隨鼠標就必須控制div的位置,所以使用div2.style.marginLeft=xPoint+"px";div2.style.marginTop=yPoint+"px";分別將X的坐標和Y的坐標值賦給div2的marginLeft和marginTop。

           5.定義onmousemove事件。

                  onmousemove事件是指在鼠標移動時所觸發的事件,使用div1.onmousemove=dOnmousemove;此時的dOnmousemove函數是onmousemove事件的響應函數。

           6.監聽onmousemove事件。 

                    在最后必須監聽onmousemove事件,因為div1層中除了跟隨鼠標的div2后沒有任何的內容。鼠標的onclick、onload等響應事件,當文檔中沒有內容時是不會有效果的,所以必須監聽。

 


免責聲明!

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



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