javascript模擬實現連結的title效果例項程式碼
超連結<a>的title屬性的美觀度確實難以令挑剔的客戶滿意,所以有時候我們需要自己設計類似於title的效果,下面是一段能夠實現這種效果的程式碼例項,當然美觀度一般,因為這裡我們們只是用來介紹它的實現原理。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>js實現自定義title功能-螞蟻部落</title> <style type="text/css"> body ul{list-style: none;} body li { margin:60px; width:150px; height:30px; } body li a{position:absolute;} div { border:1px solid #CCC; padding:10px; background:#dff5ff; } </style> <script type="text/javascript"> var newdiv=document.createElement("div"); function initEvent() { var links=document.getElementsByTagName("a"); for(var i=0;i<links.length;i++) { var link=links[i]; link.onmousemove=linkOnMouseOver; link.onmouseout=linkOnMouseOut; } } function linkOnMouseOver(ev) { var ev=ev||window.event; newdiv.style.position="absolute"; newdiv.style.top=(20+ev.clientY)+"px"; newdiv.style.left=(20+ev.clientX)+"px"; newdiv.innerHTML=this.innerHTML; document.body.appendChild(newdiv); } function linkOnMouseOut() { document.body.removeChild(newdiv); } window.onload=function(){initEvent()} </script> </head> <body> <ul> <li><a href="#">螞蟻部落一</a></li> <li><a href="#">螞蟻部落二</a></li> <li><a href="#">螞蟻部落三</a></li> </ul> </body> </html>
以上程式碼實現了自定義的title效果,下面就簡單介紹一下本效果的實現過程。
一.實現原理:
1.自定義彈出視窗的來源:
在程式碼開頭動態建立一個div元素,這個就用來作為彈出的提示視窗。
2.如何定位:
將div的top和left屬性值分別設定為clientX+20和clientY+20,也就是滑鼠在當前可見文件區座標加上20,之所以加20就是為了讓滑鼠指標和彈出視窗之間有一段距離。
3.如何實現跟隨效果:
為連結註冊onmousemove事件處理函式,這樣滑鼠移動的時候,不斷設定div的座標,就是先了跟隨效果。
4.如何隱藏此div:
當滑鼠離開的時候可以實現刪除此div,因為為連結註冊了onmouseout事件處理函式,此函式可以刪除div元素。
二.相關閱讀:
1.createElement()可以參閱js createElement()一章節。
2.getElementsByTagName()可以參閱document.getElementsByTagName()一章節。
3.mousemove事件可以參閱javascript mousemove 事件一章節。
4.mouseout事件可以參閱javascript mouseout 事件一章節。
5.ev=ev||window.event可以參閱var ev=window.event||ev的作用是什麼一章節。
6.clientX屬性可以參閱javascript clientX一章節。
7.removeChild()函式可以參閱javascript removeChild()一章節。
相關文章
- 模擬實現連結title效果程式碼例項
- jQuery模擬實現超連結的title程式碼例項jQuery
- javascript模擬實現ArrayList效果程式碼例項JavaScript
- jquery模擬實現的連結title提示效果jQuery
- javascript模擬實現滾動條效果程式碼例項JavaScript
- javascript模擬實現toAarray()方法程式碼例項JavaScript
- js模擬實現多型效果程式碼例項JS多型
- css模擬實現雙擊效果程式碼例項CSS
- 模擬實現文字框游標效果程式碼例項
- js模擬點選連結程式碼例項JS
- javascript實現animate()動畫效果程式碼例項JavaScript動畫
- canvas模擬彈幕效果程式碼例項Canvas
- 模擬發放紅包效果程式碼例項
- javascript實現的淡入淡出效果程式碼例項JavaScript
- javascript實現的燃放煙火效果程式碼例項JavaScript
- javascript實現的動畫效果簡單例項程式碼JavaScript動畫單例
- 模擬實現Object.is()方法程式碼例項Object
- javascript模擬實現trim()方法例項程式碼JavaScript
- javascript實現的簡單驗證碼效果程式碼例項JavaScript
- javascript實現的數字分頁效果程式碼例項JavaScript
- 實現四捨五入效果的javascript程式碼例項JavaScript
- javascript實現的div塊閃爍效果程式碼例項JavaScript
- js模擬實現hashCode()方法程式碼例項JS
- js模擬實現replaceAll()函式程式碼例項JS函式
- css模擬實現雙擊事件程式碼例項CSS事件
- javascript模擬jQuery的map()方法程式碼例項mapJavaScriptjQuery
- 滑鼠懸浮連結出現音效效果程式碼例項
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- javascript動態實現的表單提交效果程式碼例項JavaScript
- jQuery模擬實現滑鼠點選事件程式碼例項jQuery事件
- 模擬實現select下拉選單例項程式碼單例
- 網頁title標題滾動效果程式碼例項網頁
- JavaScript模擬HashMap類效果程式碼JavaScriptHashMap
- jquery實現的選項卡效果例項程式碼jQuery
- javascript元素內容漸現效果程式碼例項JavaScript
- js模擬實現StringBuffer類功能程式碼例項JS
- js模擬實現名稱空間功能程式碼例項JS
- js模擬實現select下拉選單程式碼例項JS