`

移动端安卓和IOS开发框架Framework7教程-Popup

阅读更多

Popup 是一种可以包含任何Html内容的弹出窗口,从App的主内容区域上弹出。 Popup 和其他所有的遮罩图层一样,是所谓的“临时视图”的一部分。

Popup 布局

Popup 布局相当简单. 你所需要做的就是将 <div class="popup"> 任何需要展示的内容 </div> 放到 body 里正确的位置上:

  1. <body>
  2.   ...
  3.   <div class="popup">
  4.     Any HTML content goes here
  5.   </div>
  6. </body>
复制

Popup 尺寸

默认的 Popup 在手机和平板(iPad)上尺寸有一些不同。在手机上是全屏的,在平板上宽高都是630px。如果你想使它在平板上也是全屏的,你应该添加额外的"tablet-fullscreen"类到需要的popup中:

  1. <body>
  2.   ...
  3.   <!-- This popup has fullscreen size on tablets -->
  4.   <div class="popup tablet-fullscreen">
  5.     Any HTML content goes here
  6.   </div>
  7. </body>
复制

打开和关闭 Popup

通过HTML

可以通过在链接上使用特定的类和data属性打开和关闭所需的popups:

  • 为了打开popup,我们需要添加 "open-popup" 类到任意 HTML 元素上 (最好是链接)

  • 为了关闭popup,我们需要添加 "close-popup" 类到任意 HTML 元素上 (最好是链接)

  • 如果你的App里有超过一个popups, 你需要指定适当popup,则需添加额外的属性 data-popup=".my-popup" 到这个 HTML 元素上

根据上面的注意点:

  1. <body>
  2.   ...
  3.     <div class="page-content">
  4.       <div class="content-block">
  5.         <!-- In data-popup attribute we specify CSS selector of popup we need to open -->
  6.         <p><a href="#" data-popup=".popup-about" class="open-popup">Open About Popup </a></p>
  7.         <p><a href="#" data-popup=".popup-services" class="open-popup">Open Services Popup </a></p>
  8.       </div>
  9.     </div>
  10.   ...
  11.   <!-- About Popup -->
  12.   <div class="popup popup-about">
  13.     <div class="content-block">
  14.       <p>About</p>
  15.       <p><a href="#" class="close-popup">Close popup</a></p>
  16.       <p>Lorem ipsum dolor ...</p>
  17.     </div>
  18.   </div>
  19.   <!-- Services Popup -->
  20.   <div class="popup popup-services">
  21.     <div class="content-block">
  22.       <p>Services</p>
  23.       <p><a href="#" class="close-popup">Close popup</a></p>
  24.       <p>Lorem ipsum dolor ...</p>
  25.     </div>
  26.   </div>
  27. </body>
复制

实例预览

使用 JavaScript

我们也可以用使用JavaScript来打开和关闭Popups ,因此我们需要看一下相关的App方法:

myApp.popup(popup) - 打开 Popup

  • popup - HTML元素 或者 字符串 (需要打开的popup的 CSS 选择器) . 必需

myApp.closeModal(popup) - 关闭 Popup

  • popup - HTML元素 或者 字符串 (需要打开的popup的 CSS 选择器). 可选. 如果没有设置这个值,任何打开着的Popup/Modal 都将被关闭
  1. <body>
  2.   ...
  3.     <div class="page-content">
  4.       <div class="content-block">
  5.         <p><a href="#" class="open-about">Open About Popup </a></p>
  6.         <p><a href="#" class="open-services">Open Services Popup </a></p>
  7.       </div>
  8.     </div>
  9.   ...
  10.   <!-- About Popup -->
  11.   <div class="popup popup-about">
  12.     <div class="content-block">
  13.       <p>About</p>
  14.       <p><a href="#" class="close-popup">Close popup</a></p>
  15.       <p>Lorem ipsum dolor ...</p>
  16.     </div>
  17.   </div>
  18.   <!-- Services Popup -->
  19.   <div class="popup popup-services">
  20.     <div class="content-block">
  21.       <p>Services</p>
  22.       <p><a href="#" class="close-popup">Close popup</a></p>
  23.       <p>Lorem ipsum dolor ...</p>
  24.     </div>
  25.   </div>
  26. </body>
复制
  1. var myApp = new Framework7();
  2.  
  3. var $$ = Dom7;
  4.  
  5. $$('.open-about').on('click', function () {
  6.   myApp.popup('.popup-about');
  7. });
  8.  
  9. $$('.open-services').on('click', function () {
  10.   myApp.popup('.popup-services');
  11. });
复制

实例预览

Popup 事件

Popup 和 Modals有一样的事件, 如果你需要在打开/关闭popup时使用JavaScript做一些事情的时候,这些事件会很有用。

Event(事件) Target(目标) Description(描述)
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 完成结束动画后,事件将被触发。
  1. <body>
  2.   ...
  3.     <div class="page-content">
  4.       <div class="content-block">
  5.         <!-- In data-popup attribute we specify CSS selector of popup we need to open -->
  6.         <p><a href="#" data-popup=".popup-about" class="open-popup">Open About Popup </a></p>
  7.         <p><a href="#" data-popup=".popup-services" class="open-popup">Open Services Popup </a></p>
  8.       </div>
  9.     </div>
  10.   ...
  11.   <!-- About Popup -->
  12.   <div class="popup popup-about">
  13.     <div class="content-block">
  14.       <p>About</p>
  15.       <p><a href="#" class="close-popup">Close popup</a></p>
  16.       <p>Lorem ipsum dolor ...</p>
  17.     </div>
  18.   </div>
  19.   <!-- Services Popup -->
  20.   <div class="popup popup-services">
  21.     <div class="content-block">
  22.       <p>Services</p>
  23.       <p><a href="#" class="close-popup">Close popup</a></p>
  24.       <p>Lorem ipsum dolor ...</p>
  25.     </div>
  26.   </div>
  27. </body>
复制
  1. var myApp = new Framework7();
  2.  
  3. var $$ = Dom7;
  4.  
  5. $$('.popup-about').on('opened', function () {
  6.   console.log('About Popup opened')
  7. });
  8. $$('.popup-about').on('close', function () {
  9.   console.log('About Popup is closing')
  10. });
  11. $$('.popup-services').on('open', function () {
  12.   console.log('Services Popup is opening')
  13. });
  14. $$('.popup-services').on('closed', function () {
  15.   console.log('Services Popup is closed')
  16. });
复制

实例预览

动态的 Popup

Framework7允许你调用相关的App方法时传递HTML内容来动态地创建Popup:

myApp.popup(popupHTML, removeOnClose) - 打开 Popup

  • popupHTML - string. popup的HTML字符串
  • removeOnClose - boolean. 可选, 默认 - true. 如果是 true, 那么 Popup 在关闭时将从DOM中移除
  1. <body>
  2.   ...
  3.     <div class="page-content">
  4.       <div class="content-block">
  5.         <!-- In data-popup attribute we specify CSS selector of popup we need to open -->
  6.         <p><a href="#" class="create-popup">Create Popup</a></p>
  7.       </div>
  8.     </div>
  9.   ...
  10. </body>
复制
  1. var myApp = new Framework7();
  2.  
  3. var $$ = Dom7;
  4.  
  5. $$('.create-popup').on('click', function () {
  6.   var popupHTML = '<div class="popup">'+
  7.                     '<div class="content-block">'+
  8.                       '<p>Popup created dynamically.</p>'+
  9.                       '<p><a href="#" class="close-popup">Close me</a></p>'+
  10.                     '</div>'+
  11.                   '</div>'
  12.   myApp.popup(popupHTML);
  13. });
复制

实例预览

 

1
1
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    uni-app自定义uni-popup弹窗内容

    自定义uni-popup内容,包含picker-view组件,前提基础需要运行在uni-app项目之下,且已保证插入外置组件,根据传入的list数据渲染选择列表,且能回填数据 组件调用&lt;SelectPick v-if="showPick" v-model="pickValue...

    ios-native-popup-using-unity-master.zip

    在iOS平台上,Unity游戏引擎通常用于开发跨平台的2D和3D游戏。然而,Unity的内置UI系统可能无法满足所有开发者对于特定平台特性的需求,例如iOS的原生弹框。为了提供与iOS系统更加无缝集成的用户体验,开发者有时会...

    Android-react-native-popup-menu.zip

    Android-react-native-popup-menu.zip,React Native的弹出菜单组件,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    jQuery模态窗口插件vintage-popup

    jQuery模态窗口插件vintage-popup是一个用于创建交互式弹出窗口的工具,它基于流行的JavaScript库jQuery。这款插件允许开发者轻松地在网页中添加模态框,以展示各种内容,如信息提示、表单填写、图片查看等。模态...

    magnific-popup插件

    在网页布局随屏幕尺寸变化时,magnific-popup能自动调整弹出框的大小和位置,确保在不同设备和浏览器上都能提供优秀的用户体验。这使得它非常适合用于现代Web应用,无论用户是在桌面电脑、平板还是手机上访问,都能...

    基于magnific-popup.js和animate.css的响应式lightbox特效

    本项目利用了magnific-popup.js和animate.css两个库来实现这种效果。 magnific-popup.js是一个轻量级、可定制的弹出插件,它支持各种类型的弹出内容,包括图像、iframe(如YouTube视频)、HTML元素和灯箱模式。这个...

    react-native-popup-dialog,一个反应本地弹出对话框,高度可定制,易于使用和支持自定义动画。对于iOS和Android。.zip

    React Native Popup Dialog是一个高度可定制且易于使用的弹出对话框组件,特别适合于React Native应用中的iOS和Android平台。这个库提供了丰富的功能,允许开发者创建各种类型的对话框,包括警告、确认、输入框等,...

    android-native-popup-using-unity

    要实现“android-native-popup-using-unity”,你需要了解以下关键概念和技术: 1. **Java插件**:Unity允许开发者编写Java代码并与Unity脚本进行交互。你需要创建一个Android Java类,该类将负责创建和显示原生...

    swift-PopupDialog采用Swif编写的一个简单可定制的iOS弹出对话框.

    PopupDialog是iOS应用开发中的一款库,它使用Swift语言编写,专为创建可自定义的弹出对话框而设计。这个库提供了一种替代UIAlertControllers的alert风格的方式,使得开发者可以更加灵活地调整对话框的外观和功能,以...

    reactnative popup-dialog

    它允许开发者使用JavaScript和React库来创建iOS和Android应用,实现了跨平台的开发效率。标题中的"reactnative popup-dialog"指的是在React Native环境中实现的一个弹出对话框组件。 在React Native中,`popup-...

    C#自定义控件--Popup窗口提醒完整源码

    综上所述,“C#自定义控件--Popup窗口提醒完整源码”涵盖了自定义控件开发、Popup窗口的实现以及相关事件处理等方面的知识。通过学习这个源码,开发者可以深入了解如何在C#应用程序中创建弹出式提醒窗口,提升自己的...

    前端项目-magnific-popup.js.zip

    前端项目-magnific-popup.js,lightbox和modal对话框插件。可以显示内联HTML、iframes(YouTube视频、Vimeo、Google地图)或图像库。动画效果与CSS3过渡一起添加。对于jquery或zepto。

    Very Simple Instant Messenger X-PopUp

    《Very Simple Instant Messenger X-PopUp:简易即时通讯软件解析》 在当今信息化社会,即时通讯工具已经成为我们日常生活中不可或缺的一部分。"Very Simple Instant Messenger X-PopUp"(以下简称X-PopUp)作为一...

    flycheck-popup-tip:使用popup.el显示Flycheck错误消息

    而`flycheck-popup-tip`是Flycheck的一个扩展,用于通过`popup.el`库来更优雅地展示错误和警告消息。本文将详细介绍`flycheck-popup-tip`的功能、安装、配置以及它如何与`popup.el`协同工作,帮助提升Emacs的使用...

    PyPI 官网下载 | pygame-popup-0.4.2.tar.gz

    pygame-popup是一个为pygame框架量身打造的弹窗模块,它的设计目标是帮助开发者在游戏运行过程中创建各种交互式的提示和通知。在0.4.2版本中,我们可以期待一系列的增强功能和改进,以提供更稳定、更高效的用户体验...

    react-native-popup-menu:React Native的弹出菜单

    react-native-popup-menu·特征定位方式描述快速定位允许将菜单对齐到任何元素的边框坚持元素的中心允许按元素宽度的中心显示菜单动态定位允许将动态偏移量添加到基本菜单位置位置限制自动应用约束,以永不超越屏幕...

    Popup例子 实现弹出窗口的关闭

    综上所述,实现"Popup例子 实现弹出窗口的关闭"需要对WPF和Windows Phone的UI框架有深入理解,包括Popup的使用、事件监听、逻辑控制以及动画效果的添加。通过这些技术,我们可以创建出更符合用户习惯的交互界面,...

    mapbox-gl-animated-popup:Mapbox GL JS 的动画弹出组件

    Mapbox GL JS 动画弹出窗口的动画弹出组件 0.2 版需要 Mapbox GL JS 0.48.0 或更...用法Mapbox GL JS 动画弹出窗口可与 ES6 模块、纯 JavaScript 和模块加载器一起使用。 Mapbox GL JS 动画弹出需要 。 将 Mapbox GL JS

    update-popup::speech_balloon:在右下方显示更新消息

    UPDATE_POPUP_VERSION=1.0.0 # Support more. e.g.: 1.0.0.1, 1.0.0.1.1 您还可以使用options.auto来实现自动更新版本。 项目配置文件 // nuxt.config.js const config = { modules : [ '@femessage/update-popup...

Global site tag (gtag.js) - Google Analytics