JavaScript滑鼠懸浮展開側欄導航
本章節分享一段程式碼例項,它實現了滑鼠懸浮能夠展開側欄導航的效果。
程式碼來源於論壇會員的一個問題,本站將其優化並改進了一下,原來的程式碼是有點問題的。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body, ul{ margin:0; padding:0; } #box{ width:150px; height:200px; background:#0CF; position:absolute; left:-150px; } ul li{ list-style-type:none; } ul li a{ display:block; height:28px; text-decoration:none; } #span { width:20px; height:80px; position:absolute; top:70px; background:#ffc; right:-20px; } </style> <script type="text/javascript"> var timer; function startMove(){ clearInterval(timer); var odiv=document.getElementById("box"); timer=setInterval(function(){ if(odiv.offsetLeft>=0){ clearInterval(timer); } else{ odiv.style.left=odiv.offsetLeft+3+"px"; } },30); } function obMove(){ clearInterval(timer); var odiv=document.getElementById("box"); timer=setInterval(function(){ if(odiv.offsetLeft<=-150){ clearInterval(timer); } else{ odiv.style.left=odiv.offsetLeft-3+"px"; } },30); } window.onload=function(){ document.getElementById("box").onmouseover=startMove; document.getElementById("box").onmouseout=obMove; } </script> </head> <body> <div id="box"> <span id="span">分享到</span> <ul> <li><a href="#">softwhy.com</a></li> <li><a href="#">Sina微博</a></li> <li><a href="#">朋友圈</a></li> <li><a href="#">螞蟻部落</a></li> <li><a href="#">QQ空間</a></li> </ul> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var timer,宣告一個變數用來儲存定時器函式的標識。
(2).function startMove(){ },作為onmouseover事件處理函式。
(3).clearInterval(timer),停止上一個定時器方法的執行,如果沒有此程式碼,側可能出現多個定時器方法共同執行的現象。
(4).var odiv=document.getElementById("box"),獲取id屬性值為box的元素物件。
(5).timer=setInterval(function(){
if(odiv.offsetLeft>=0){
clearInterval(timer);
}
else{
odiv.style.left=odiv.offsetLeft+3+"px";
}
},30),每隔30毫秒執行一次函式,當然需要判斷offsetLeft屬性值,關於此屬性可以參閱相關閱讀。
二.相關閱讀:
(1).setInterval方法可以參閱JavaScript setInterval()一章節。
(2).offsetLeft屬性參閱JavaScript offsetLeft一章節。
(3).onmouseover事件參閱JavaScript mouseover 事件一章節。
(4).onmouseout事件參閱JavaScript mouseout 事件一章節。
相關文章
- 滑鼠懸浮導航欄背景和字型變色效果
- 底部導航欄懸浮效果
- css3滑鼠懸浮展開收縮導航選單CSSS3
- 滑鼠懸浮緩慢下拉導航選單
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- 滑鼠懸浮背景上下翻滾切換導航
- 滑鼠懸浮可以上下伸縮的導航選單
- 滑鼠懸浮底部有橫條伸展的導航選單
- 滑鼠懸浮中英文切換橫向導航選單
- 來,搞個側欄導航
- 左側導航欄element -2024/11/27
- 購物網站側欄商品分類導航網站
- Ubuntu 20.04 自動隱藏左側導航欄Ubuntu
- Bootstrap 4 實現導航欄右側對齊boot
- jQuery滑鼠懸浮翻牌效果詳解jQuery
- jQuery滑鼠懸浮聚焦效果詳解jQuery
- css滑鼠懸浮下拉選單效果CSS
- 滑鼠懸浮圖片旋轉效果
- 滑鼠懸浮tr行高亮變色
- 滑鼠懸浮div實現旋轉效果
- 滑鼠懸浮div動畫改變尺寸動畫
- 滑鼠懸浮連結動畫高亮效果動畫
- 滑鼠懸浮電風扇旋轉效果
- CSS3滑鼠懸浮元素放大效果CSSS3
- CSS滑鼠懸浮行背景變色效果CSS
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- CSS浮動float的導航欄小案例總結CSS
- 在 Flutter 中實現一個浮動導航欄Flutter
- 滑鼠懸浮連結彈出說明層
- 滑鼠懸浮圖片實現翻轉效果
- 滑鼠懸浮圖片實現縮放效果
- CSS3滑鼠懸浮div旋轉效果CSSS3
- 滑鼠懸浮實現環形旋轉效果
- 滑鼠懸浮連結底部出現橫線
- CSS3滑鼠懸浮環裝遮罩效果CSSS3遮罩
- CSS滑鼠懸浮圖片動畫放大效果CSS動畫
- CSS滑鼠懸浮圖片模糊切換效果CSS
- CSS3滑鼠懸浮圖示旋轉CSSS3