js實現彈出層滑鼠跟隨效果
本章節分享一段程式碼例項,它使用原生javascript實現了彈出層滑鼠跟隨效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #preview{ width:300px; height:200px; border:5px solid darkgoldenrod; background:#ccc; color:#fff; padding:5px; display:none; position:absolute; } #hover{ width:300px; height:200px; background:#ccc; text-align:center; line-height:200px; color:black; } </style> <script type="text/javascript"> window.onload=function(){ var xOffset = 10; var yOffset = 10; var hover=document.getElementById("hover"); var preview=document.getElementById("preview"); hover.onmouseover=function(ev){ var ev=window.event||ev; var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; var scrollY = document.documentElement.scrollTop || document.body.scrollTop; preview.style.display="block"; preview.style.top=((ev.pageY?ev.pageY:ev.clientY + scrollY)+yOffset)+"px"; preview.style.left=((ev.pageX?ev.pageX:ev.clientX + scrollX)+xOffset)+"px"; } hover.onmouseout=function(ev){ preview.style.display="none"; } hover.onmousemove=function(){ var ev=window.event||ev; var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; var scrollY = document.documentElement.scrollTop || document.body.scrollTop; preview.style.top=((ev.pageY?ev.pageY:ev.clientY + scrollY)+yOffset)+"px"; preview.style.left=((ev.pageX?ev.pageX:ev.clientX + scrollX)+xOffset)+"px"; } } </script> </head> <body> <div id="hover">滑鼠放在這裡</div> <div id='preview'>jquery實現跟隨滑鼠移動的彈層</div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var xOffset = 10,用來規定彈出層距離滑鼠指標的水平距離。
(3).var yOffset = 10,用來規定彈出層距離滑鼠指標的垂直距離。
(4).var hover=document.getElementById("hover"),獲取id屬性值為hover的元素物件。(5).var preview=document.getElementById("preview"),獲取id屬性值為preview的元素物件。
(6).hover.onmouseover=function(ev){},註冊onmouseover事件處理函式,引數ev是事件物件。
(7).var ev=window.event||ev,相容所有瀏覽器的事件物件相容。
(8).var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft,獲取網頁向上滾動的尺寸。
(9).var scrollY = document.documentElement.scrollTop || document.body.scrollTop,獲取網頁向左滾動的尺寸。
(10).preview.style.display="block",彈出層顯示。
(11).preview.style.top=((ev.pageY?ev.pageY:ev.clientY + scrollY)+yOffset)+"px",設定彈出層的top屬性值。
(12).preview.style.left=((ev.pageX?ev.pageX:ev.clientX + scrollX)+xOffset)+"px",設定彈出層的left屬性值。
(13).hover.onmouseout=function(ev){
preview.style.display="none";
},當滑鼠滑鼠離開的時候,彈出層消失。
二.相關閱讀:
(1).var ev=window.event||ev可以參閱var ev=window.event||ev的作用是什麼一章節。
(2).document.documentElement.scrollLeft || document.body.scrollLeft可以參閱document.documentElement.scrollTop瀏覽器相容一章節。
(4).clientY和clientX可以參閱javascript clientX一章節。
(5).onmouseout事件可以參閱javascript mouseout事件一章節。
(6).onmousemove事件可以參閱javascript mousemove事件一章節。
相關文章
- jQuery跟隨滑鼠移動的彈出層效果jQuery
- 滑鼠懸浮彈出滑鼠跟隨層程式碼例項
- JavaScript、CSS實現滑鼠跟隨繁花效果JavaScriptCSS
- CSS mask 實現滑鼠跟隨鏤空效果CSS
- 不可思議的純 CSS 實現滑鼠跟隨效果CSS
- canvas實現的跟隨滑鼠的彩色絲帶效果Canvas
- 如何不使用js實現滑鼠hover彈出選單效果JS
- css滑鼠懸浮彈出說明層效果CSS
- JavaScript 跟隨滑鼠指標的粒子效果JavaScript指標
- jQuery 滑鼠懸浮連結彈出跟隨圖片詳解jQuery
- 奉獻一個實用的JS動畫彈出層效果JS動畫
- js跟隨滑鼠移動的元素JS
- JavaScript跟隨滑鼠移動的圖片效果JavaScript
- 滑鼠指標一長串元素跟隨效果指標
- jQuery地圖熱點效果-滑鼠經過彈出提示層資訊jQuery地圖
- jQuery實現的自定義可以拖動的彈出層效果jQuery
- jQuery拖拽的彈出層效果jQuery
- javascript元素滑鼠跟隨效果程式碼例項詳解JavaScript
- JavaScript跟隨滑鼠指標的粒子效果程式碼例項JavaScript指標
- js具有跟隨彈性效果的網頁右下角視窗程式碼JS網頁
- 一側具有滑鼠跟隨效果的垂直導航選單
- jquery css3跟隨滑鼠晃動的圖片效果jQueryCSSS3
- 根據滑鼠的方位出現遮罩層效果程式碼例項遮罩
- JavaScript點選按鈕彈出層效果JavaScript
- 純CSS彈出層,城市切換效果CSS
- 滑鼠懸浮具有背景動畫跟隨效果的導航選單動畫
- js滑鼠懸浮字串實現字串跳動效果JS字串
- css滑鼠懸浮小圖彈出大圖效果CSS
- JS特效--跟隨滑鼠移動的日曆時鐘JS特效
- jquery實現的彈出居中視窗效果jQuery
- javascript實現掉落彈出層------Day29JavaScript
- [unity3d]如何實現遊戲物件跟隨滑鼠方向移動Unity3D遊戲物件
- 四角游標跟隨滑鼠, 滑鼠落在哪個圖片上, 游標就跟隨到哪張圖片 (一種實現思路)
- JavaScript 元素跟隨滑鼠運動JavaScript
- JS實現彈幕效果(10.11—10.17)JS
- AngularJS教程十七—— 彈出層元件AngularJS元件
- 滑鼠懸浮小圖彈出大圖效果詳解
- Android實現人人網點選“+”彈出效果Android