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()一章節。
相關文章
- html實現簡單ListViews效果的例項程式碼HTMLView
- JavaScript模擬拋物運動的程式碼實現JavaScript
- 前端學習程式碼例項-JavaScript 阻止擊超連結的跳轉前端JavaScript
- JavaScript實現選項卡效果JavaScript
- jQuery tab選項卡效果程式碼例項jQuery
- canvas載入效果程式碼例項Canvas
- CSS橢圓效果程式碼例項CSS
- javascript模擬new的實現JavaScript
- JavaScript 模擬new的實現JavaScript
- JavaScript in運算子程式碼例項JavaScript
- JavaScript模擬拋物效果JavaScript
- 美化滾動條效果程式碼例項
- canvas原型鐘錶效果程式碼例項Canvas原型
- css3水滴效果程式碼例項CSSS3
- css背景虛化效果程式碼例項CSS
- canvas氣泡上浮效果程式碼例項Canvas
- pta重排連結串列(一個很清晰的實現,完全模擬連結串列的實現)
- JavaScript運動框架程式碼例項JavaScript框架
- JavaScript取餘數程式碼例項JavaScript
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- JavaScript中常用的事件程式碼及例項JavaScript事件
- jQuery點選滑出層效果程式碼例項jQuery
- css3晃動效果程式碼例項CSSS3
- CSS3心形效果程式碼例項CSSS3
- div前後翻轉效果程式碼例項
- 當前文字框高亮效果程式碼例項
- CSS3旋轉效果程式碼例項CSSS3
- 淡入淡出效果簡單程式碼例項
- canvas繪製箭頭效果程式碼例項Canvas
- JavaScript模擬實現replaceAll方法JavaScript
- JavaScript中模擬實現jsonpJavaScriptJSON
- JavaScript陣列合並程式碼例項JavaScript陣列
- JavaScript倒數計時程式碼例項JavaScript
- JavaScript 表單驗證程式碼例項JavaScript
- jQuery實現的表格展開伸縮效果例項jQuery
- CSS3滑過光束效果程式碼例項CSSS3
- CSS3小黃人效果程式碼例項CSSS3
- css3折角效果程式碼例項CSSS3
- CSS3梯形效果程式碼例項CSSS3