JavaScript點選按鈕彈出層效果
強大的效果其實都是由一個個簡單的功能組合而成的,下面介紹一下如何實現點選一個按鈕彈出一個層的效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0px; padding:0px; } div{ width:160px; height:100px; background:#33ccff; display:none; position:absolute; } div ul{text-align: center;} div li{list-style-type: none;} button{ top:300px; left:400px; position:absolute; } </style> <script type="text/javascript"> window.onload=function(){ var btn=document.getElementsByTagName('button')[0]; var flt=document.getElementsByTagName('div')[0]; btn.onclick=function(ev){ var ev=ev||window.event; if(ev.cancelBubble){ev.cancelBubble=true;} else{ev.stopPropagation()} var x=btn.offsetLeft-15+'px'; var y=btn.offsetTop-100+'px'; flt.style.top=y; flt.style.left=x; flt.style.display='block'; } document.onclick = function(){ flt.style.display='none'; } } </script> </head> <body> <button id="btn">點選彈出層</button> <div> <ul id="nav"> <li class="item1"><a href="">螞蟻部落一</a></li> <li class="item2"><a href="">螞蟻部落二</a></li> <li class="item3"><a href="">螞蟻部落三</a></li> <li class="item4"><a href="">螞蟻部落四</a></li> <li class="item5"><a href="">螞蟻部落五</a></li> </ul> </div> </body> </html>
以上程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var btn=document.getElementsByTagName('button')[0],獲取按鈕物件,getElementsByTagName()函式獲取的是一個物件集合,所以要想獲取某一個物件,則需要使用索引值訪問集合中的元素。
(3).var flt=document.getElementsByTagName('div')[0],和上面一樣的道理,這裡不多介紹了。
(4).btn.onclick=function(){},為按鈕註冊onclick事件處理函式。
(5).var ev=ev||window.event,事件物件的相容性處理。
(6).if(ev.cancelBubble){ev.cancelBubble=true;},阻止事件冒泡,IE8和IE8以下瀏覽器支援,之所以要阻止事件冒泡,是防止點選按鈕之後,會彈出視窗,但是事件會冒泡的document,瞬間又將視窗隱藏,於是點選按鈕也就無法彈出視窗了。
(7).else{ev.stopPropagation()},標準瀏覽器彈出視窗效果。
(8).var x=btn.offsetLeft-15+'px',設定彈出視窗距離body左側的尺寸。
(9).var y=btn.offsetTop-100+'px',設定彈出視窗距離body上測的尺寸。
(10).flt.style.top=y,flt.style.left=x,設定它們的樣式。
(11).flt.style.display='block',將彈出層顯示。
(12).document.onclick=function(){},在document上註冊onclick事件處理函式。
(13).flt.style.display='none',將彈出視窗隱藏。
二.相關閱讀:
(1).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(2).var ev=ev||window.event參閱var ev=window.event||ev 作用一章節。
(3).stopPropagation()參閱JavaScript stopPropagation()一章節。
(4).offsetLeft屬性參閱JavaScript offsetLeft一章節。
(5).事件冒泡參閱JavaScript 事件冒泡一章節。
相關文章
- JavaScript點選按鈕數字加1效果JavaScript
- 點選按鈕彈出一個居中div
- JavaScript 點選按鈕返回底部JavaScript
- javascript點選彈出可以關閉帶有灰色背景彈出層JavaScript
- 點選提交按鈕實現彈出警告框表單驗證效果
- 點選刪除按鈕彈出是否刪除提示框
- 點選瀏覽器後退按鈕時彈出提示資訊瀏覽器
- 點選按鈕實現數字增加效果
- JavaScript點選按鈕返回底部詳解JavaScript
- JavaScript點選按鈕刪除div元素JavaScript
- 點選按鈕實現狀態切換效果
- 點選按鈕實現圖片切換效果
- JavaScript點選按鈕切換背景顏色JavaScript
- Layui Confirm彈出框連續點選按鈕會觸發多次事件UI事件
- JavaScript點選按鈕刪除一個div元素JavaScript
- 單選按鈕美化效果程式碼
- 語音交友app開發,點選按鈕出現彈窗的實現方式APP
- javascript 點選回車相當於點選按鈕程式碼例項JavaScript
- 專案分享八:基於按鈕點選事件的彈窗事件
- Delphi中點選網頁彈出的Alert對話方塊的確定按鈕網頁
- js點選彈出和隱藏一個div層效果程式碼例項JS
- radio單選按鈕美化效果
- 點選按鈕實現切換頁面背景顏色效果
- js點選按鈕數字加1效果程式碼例項JS
- jQuery拖拽的彈出層效果jQuery
- javascript輸出頁面節點層級效果JavaScript
- JavaScript radio按鈕選中值JavaScript
- JavaScript點選一個按鈕隱藏和顯示divJavaScript
- 點選回車實現按鈕點選功能
- JavaScript左右拖動滑動的按鈕效果JavaScript
- Path實現常見toolbar點選彈出選單效果
- 點選彈出帶有遮罩的視窗效果遮罩
- Android實現人人網點選“+”彈出效果Android
- 點選彈出鎖屏層例項程式碼
- 點選彈出半透明層程式碼例項
- UIScrollView中點選按鈕高亮效果會延時怎麼辦UIView
- Android--按鈕點選事件Android事件
- Android 點選按鈕跳轉Android