文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Popup弹出窗口
Popup 是一种可以包含任何Html内容的弹出窗口,从App的主内容区域上弹出。 Popup 和其他所有的遮罩图层一样,是所谓的“临时视图”的一部分。
Popup 布局
Popup 布局相当简单. 你所需要做的就是将放到 body 里正确的位置上:
<div class="modal modal-no-buttons"> ... <div class="popup"> Any HTML content goes here </div> </div>
打开和关闭 Popup
通过HTML
可以通过在链接上使用特定的类和data属性打开和关闭所需的popups:
- 为了打开popup,我们需要添加 "open-popup" 类到任意 HTML 元素上 (最好是链接)
- 为了关闭popup,我们需要添加 "close-popup" 类到任意 HTML 元素上 (最好是链接)
- 如果你的App里有超过一个popups, 你需要指定适当popup,则需添加额外的属性 data-popup=".my-popup" 到这个 HTML 元素上
根据上面的注意点:
<header class="bar bar-nav"> <h1 class="title">Popup(HTML)</h1> </header> ... <div class="content"> <div class="content-block"> <p><a href="#" class="open-about">Open About Popup </a></p> <p><a href="#" class="open-services">Open Services Popup </a></p> </div> </div> <!-- About Popup --> <div class="popup popup-about"> <div class="content-block"> <p>About</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div> <!-- Services Popup --> <div class="popup popup-services"> <div class="content-block"> <p>Services</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div>
使用 JavaScript
我们也可以用使用JavaScript来打开和关闭Popups ,因此我们需要看一下相关的App方法:
$.popup(popup)
- 打开 Popup
popup - HTML元素 或者 字符串 (需要打开的popup的 CSS 选择器)
. 必需
$.closeModal(popup)
- 关闭 Popup
popup - HTML元素 或者 字符串 (需要打开的popup的 CSS 选择器)
. 可选. 如果没有设置这个值,任何打开着的Popup/Modal 都将被关闭
<header class="bar bar-nav"> <h1 class="title">Popup(JavaScript)</h1> </header> ... <div class="content"> <div class="content-block"> <p><a href="#" class="open-about">Open About Popup </a></p> <p><a href="#" class="open-services">Open Services Popup </a></p> </div> </div> <!-- About Popup --> <div class="popup popup-about"> <div class="content-block"> <p>About</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div> <!-- Services Popup --> <div class="popup popup-services"> <div class="content-block"> <p>Services</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div> $(document).on('click','.open-about', function () { $.popup('.popup-about'); }); $(document).on('click','.open-services', function () { $.popup('.popup-services'); });
Popup 事件
Popup 和 Modals有一样的事件, 如果你需要在打开/关闭popup时使用JavaScript做一些事情的时候,这些事件会很有用。
事件 | 目标 | 描述 |
---|---|---|
open | Popup Element<div class="popup"> | 当 Popup 开始打开动画时,事件将被触发。 |
opened | Popup Element<div class="popup"> | 当 Popup 完成打开动画时,事件将被触发。 |
close | Popup Element<div class="popup"> | 当 Popup 开始结束动画时,事件将被触发。 |
closed | Popup Element<div class="popup"> | 当 Popup 完成结束动画后,事件将被触发。 |
<header class="bar bar-nav"> <h1 class="title">Popup事件</h1> </header> ... <div class="content"> <div class="content-block"> <!-- In data-popup attribute we specify CSS selector of popup we need to open --> <p><a href="#" data-popup=".popup-about" class="open-popup">Open About Popup </a></p> <p><a href="#" data-popup=".popup-services" class="open-popup">Open Services Popup </a></p> </div> </div> <!-- About Popup --> <div class="popup popup-about"> <div class="content-block"> <p>About</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div> <!-- Services Popup --> <div class="popup popup-services"> <div class="content-block"> <p>Services</p> <p><a href="#" class="close-popup">Close popup</a></p> <p>Lorem ipsum dolor ...</p> </div> </div>
$(document).on('click','.popup-about', function () { console.log('About Popup opened') }); $(document).on('click','.popup-about', function () { console.log('About Popup is closing') }); $(document).on('click','.popup-services', function () { console.log('Services Popup is opening') }); $(document).on('click','.popup-services', function () { console.log('Services Popup is closed') });
动态的 Popup
允许你调用相关的App方法时传递HTML内容来动态地创建Popup:
$.popup(popupHTML, removeOnClose)
- 打开 Popup
popupHTML
- string. popup的HTML字符串removeOnClose
- boolean. 可选, 默认 - true. 如果是 true, 那么 Popup 在关闭时将从DOM中移除
<header class="bar bar-nav"> <h1 class="title">动态的 Popup</h1> </header> ... <div class="content"> <div class="content-block"> <!-- In data-popup attribute we specify CSS selector of popup we need to open --> <p><a href="#" class="create-popup">Create Popup</a></p> </div> </div>
$(document).on('click','.create-popup', function () { var popupHTML = '<div class="popup">'+ '<div class="content-block">'+ '<p>Popup created dynamically.</p>'+ '<p><a href="#" class="close-popup">Close me</a></p>'+ '</div>'+ '</div>' $.popup(popupHTML); });
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论