javascript實(shí)現(xiàn)簡約的頁面右下角點(diǎn)擊彈出窗口示例【測(cè)試可用】 原創(chuàng)
功能需求
頁面右下角默認(rèn)存在一個(gè)懸浮按鈕,點(diǎn)擊按鈕可在其上方彈出一個(gè)窗口區(qū)域,彈窗自身帶有關(guān)閉按鈕,也可以通過再次點(diǎn)擊下方的按鈕關(guān)閉右下角彈窗。
實(shí)現(xiàn)方法
1. css部分:
.container { position: relative; height: 100vh; padding: 20px; } .content { background-color: #f1f1f1; height: 100%; padding: 20px; } .floating-button { position: fixed; bottom: 30px; right: 30px; background-color: #337ab7; color: #fff; padding: 10px 20px; border-radius: 50px; cursor: pointer; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); z-index: 99; } .popup { position: fixed; bottom: 80px; right: 30px; width: 300px; background-color: #fff; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); display: none; } .popup-content { padding: 20px; } .popup p { margin-bottom: 10px; } .popup button { background-color: #337ab7; color: #fff; padding: 8px 16px; border: none; cursor: pointer; float: right; }
2. html部分:
<div class="container"> <div class="content">頁面內(nèi)容</div> <div class="floating-button" onclick="togglePopup()">點(diǎn)擊打開</div> <div class="popup" id="popup" style="display: none;"> <button onclick="closePopup()">X</button> <div class="popup-content"> <p>彈出窗口內(nèi)容</p> </div> </div> </div>
3. js部分:
function togglePopup() { var popup = document.getElementById("popup"); if (popup.style.display === "none") { popup.style.display = "block"; } else { popup.style.display = "none"; } } function closePopup() { var popup = document.getElementById("popup"); popup.style.display = "none"; }
代碼說明:
上述代碼會(huì)創(chuàng)建一個(gè)容器(.container
),其中包含頁面內(nèi)容(.content
)、浮動(dòng)按鈕(.floating-button
)和彈出窗口(.popup
)。通過點(diǎn)擊浮動(dòng)按鈕,可以切換彈出窗口的顯示狀態(tài)(動(dòng)態(tài)修改其 display
屬性為 none
或 block
)。彈出窗口中包含自定義的內(nèi)容和關(guān)閉按鈕。
這是一個(gè)基本的彈窗功能,有需要的同學(xué)還可以進(jìn)一步美化其樣式,或者增加其功能(如:默認(rèn)動(dòng)態(tài)加載欄目、內(nèi)容頁相關(guān)參考信息;ajax查詢等)
完整實(shí)例:
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>頁面右下角彈出窗口示例</title> <style> .container { position: relative; height: 100vh; padding: 20px; } .content { background-color: #f1f1f1; height: 100%; padding: 20px; } .floating-button { position: fixed; bottom: 30px; right: 30px; background-color: #337ab7; color: #fff; padding: 10px 20px; border-radius: 50px; cursor: pointer; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); z-index: 99; } .popup { position: fixed; bottom: 80px; right: 30px; width: 300px; background-color: #fff; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); display: none; } .popup-content { padding: 20px; } .popup p { margin-bottom: 10px; } .popup button { background-color: #337ab7; color: #fff; padding: 8px 16px; border: none; cursor: pointer; float: right; } </style> </head> <body> <div class="container"> <div class="content">頁面內(nèi)容</div> <div class="floating-button" onclick="togglePopup()">點(diǎn)擊打開</div> <div class="popup" id="popup" style="display: none;"> <button onclick="closePopup()">X</button> <div class="popup-content"> <p>彈出窗口內(nèi)容</p> </div> </div> </div> <script> function togglePopup() { var popup = document.getElementById("popup"); if (popup.style.display === "none") { popup.style.display = "block"; } else { popup.style.display = "none"; } } function closePopup() { var popup = document.getElementById("popup"); popup.style.display = "none"; } </script> </body> </html>
感興趣的同學(xué)還可以使用本站在線工具測(cè)試上述代碼的運(yùn)行效果:http://tools.jb51.net/code/HtmlJsRun
- JS如何實(shí)現(xiàn)在彈出窗口中加載頁面
- 禁止iframe頁面的所有js腳本如alert及彈出窗口等
- js實(shí)現(xiàn)彈出窗口、頁面變成灰色并不可操作的例子分享
- JavaScript頁面刷新與彈出窗口問題的解決方法
- js右下角彈出窗口,點(diǎn)擊可關(guān)閉效果
- js實(shí)現(xiàn)右下角窗口彈出窗口效果
- JS封裝的模仿qq右下角消息彈窗功能示例
- 純js的右下角彈窗實(shí)例
- JS實(shí)現(xiàn)簡單的右下角彈出提示窗口完整實(shí)例
- JS非Alert實(shí)現(xiàn)網(wǎng)頁右下角“未讀信息”效果彈窗
- js實(shí)現(xiàn)仿MSN帶關(guān)閉功能的右下角彈窗代碼
- javascript實(shí)現(xiàn)的右下角彈窗實(shí)例
- js 右下角彈窗效果代碼(IE only)
相關(guān)文章
關(guān)于js中removeEventListener取消事件監(jiān)聽的坑
許多入前端不久的人都會(huì)遇到removeEventListener無法清除監(jiān)聽的情況,下面這篇文章主要給大家介紹了關(guān)于js中removeEventListener取消事件監(jiān)聽的坑,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09學(xué)習(xí)JavaScript鼠標(biāo)響應(yīng)事件
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript鼠標(biāo)響應(yīng)事件,為大家分享了一個(gè)簡單的鼠標(biāo)模擬案例,感興趣的小伙伴們可以參考一下2015-12-12javascript實(shí)現(xiàn)點(diǎn)擊小圖顯示大圖
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊小圖顯示大圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11微信小程序注冊(cè)60s倒計(jì)時(shí)功能 使用JS實(shí)現(xiàn)注冊(cè)60s倒計(jì)時(shí)功能
這篇文章主要介紹了微信小程序注冊(cè)60s倒計(jì)時(shí)功能,以及使用JS實(shí)現(xiàn)注冊(cè)60s倒計(jì)時(shí)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08js實(shí)現(xiàn)點(diǎn)擊按鈕隨機(jī)生成背景顏色
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)點(diǎn)擊按鈕隨機(jī)生成背景顏色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09js通過audioContext實(shí)現(xiàn)3D音效
這篇文章主要為大家詳細(xì)介紹了js通過audioContext實(shí)現(xiàn)3D音效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04javascript:FF/Chrome與IE動(dòng)態(tài)加載元素的區(qū)別說明
今天在寫一段js時(shí),發(fā)現(xiàn)IE與FF在動(dòng)態(tài)加載Html元素時(shí),有一些差別,一起過來看看下面的代碼吧2014-01-01