在很多網站上能看到圖片跟隨鼠標移動的JS特效,其實做法很簡單,在這裡與大家分享下。
在實現這個特效之前,需要了解JS中一個對象,event(事件對象),對,只需了解這一個對象。它的方法屬性我不多說了,想詳細了解的童鞋點擊這裡,http://www.jb51.net/article/17266.htm。
我們用到的只有這個對象的兩個屬性,clientX與clientY,就是觸發當前事件(可能是Click,也肯能是onmousemove等等事件)時鼠標在窗口區域的X,Y坐標(它們都是只讀屬性,所以只能get,不能set),說到這裡可能很多童鞋已經知道怎麼做了,沒錯,就是這樣!把得到的坐標賦值給圖片定位屬性中的Left與Top即可,很簡單吧!下面提供一個實現的小Demo.
材料:兩張你喜歡的圖片,在這裡就命名為"MUp.png"與"MDown.png",為什麼會有兩張圖片呢,這裡還實現了一個鼠標按下變化圖片的效果。
HTML Code is Here:
<div id="Main"> <img src="MUp.png" id="Img"/> </div> CSS Code is Here: *{ margin:px; padding:px;} #Img{ position:absolute; top:px; left:px;} #Main{ background-color:#F; width:px; height:px;} JS Code is Here: window.onload=Main; //全局坐標變量 var x=""; var y=""; //定位圖片位置 function GetMouse(oEvent) { x=oEvent.clientX; y=oEvent.clientY; document.getElementById("Img").style.left=(parseInt(x)-)+"px"; document.getElementById("Img").style.top=y+"px"; } //入口 function Main() { var ele=document.getElementById("Main"); //注冊鼠標移動事件 ele.onmousemove=function(){GetMouse(event);} // 注冊鼠標按下事件 ele.onmousedown=function(){ChangeBg("Img","MUp.png");} //注冊鼠標彈回事件 ele.onmouseup=function(){ChangeBg("Img","MDown.png");} } //圖片變化 function ChangeBg(id,url) { document.getElementById(id).src=url; }