在很多網站上能看到圖片跟隨鼠標移動的JS特效,其實做法很簡單,在這里與大家分享下。
在實現這個特效之前,需要了解JS中一個對象,event(事件對象),對,只需了解這一個對象。它的方法屬性我不多說了,想詳細了解的童鞋點擊這里。
我們用到的只有這個對象的兩個屬性,clientX與clientY,就是觸發當前事件(可能是Click,也肯能是onmousemove等等事件)時鼠標在窗口區域的X,Y坐標(它們都是只讀屬性,所以只能get,不能set),說到這里可能很多童鞋已經知道怎么做了,沒錯,就是這樣!把得到的坐標賦值給圖片定位屬性中的Left與Top即可,很簡單吧!下面提供一個實現的小Demo.
材料:兩張你喜歡的圖片,在這里就命名為"MUp.png"與"MDown.png",為什么會有兩張圖片呢,這里還實現了一個鼠標按下變化圖片的效果。
HTML Code is Here:
1 <div id="Main"> 2 <img src="MUp.png" id="Img"/> 3 </div>
CSS Code is Here:
1 *{ margin:0px; padding:0px;} 2 #Img{ position:absolute; top:0px; left:0px;} 3 #Main{ background-color:#F60; width:1177px; height:570px;}
JS Code is Here:
1 window.onload=Main; 2 //全局坐標變量 3 var x=""; 4 var y=""; 5 //定位圖片位置 6 function GetMouse(oEvent) 7 { 8 x=oEvent.clientX; 9 y=oEvent.clientY; 10 document.getElementById("Img").style.left=(parseInt(x)-100)+"px"; 11 document.getElementById("Img").style.top=y+"px"; 12 } 13 //入口 14 function Main() 15 { 16 var ele=document.getElementById("Main"); 17 //注冊鼠標移動事件 18 ele.onmousemove=function(){GetMouse(event);} 19 // 注冊鼠標按下事件 20 ele.onmousedown=function(){ChangeBg("Img","MUp.png");} 21 //注冊鼠標彈回事件 22 ele.onmouseup=function(){ChangeBg("Img","MDown.png");} 23 } 24 //圖片變化 25 function ChangeBg(id,url) 26 { 27 document.getElementById(id).src=url; 28 }
Effects:
很簡單吧,去試試吧。
2012-07-21 11:52:55