`

移动端安卓和IOS开发框架Framework7教程-手风琴布局/可折叠布局

阅读更多

手风琴布局Accordion Layout

通常,手风琴布局可以这样实现:

  1. <div class="accordion-list">
  2.     <div class="accordion-item">
  3.         <div class="accordion-item-toggle">...</div>
  4.         <div class="accordion-item-content">...</div>
  5.     </div>
  6.     <div class="accordion-item accordion-item-expanded">
  7.         <div class="accordion-item-toggle">...</div>
  8.         <div class="accordion-item-content">...</div>
  9.     </div>
  10.     <div class="accordion-item">
  11.         <div class="accordion-item-toggle">...</div>
  12.         <div class="accordion-item-content">...</div>
  13.     </div>
  14.     ...
  15. </div>
复制

上面的代码:

  • accordion-list - 多个手风琴元素的列表. 可选
    • accordion-item - 单个手风琴元素. 必选
      • accordion-item-toggle - 用来展开/折叠手风琴元素内容的开关. 必选
      • accordion-item-content - 隐藏的手风琴元素的内容. 必选
    • accordion-item-expanded - 展开的手风琴元素

折叠布局(Collapsible Layout)

如果你希望独立的可折叠元素,你可以不使用"accordion-list"包裹元素:

  1.     <!-- Single collapsible element -->
  2.     <div class="accordion-item">
  3.         <div class="accordion-item-toggle">...</div>
  4.         <div class="accordion-item-content">...</div>
  5.     </div>
  6.     <!-- Another separate collapsible element -->
  7.     <div class="accordion-item">
  8.         <div class="accordion-item-toggle">...</div>
  9.         <div class="accordion-item-content">...</div>
  10.     </div>
复制

手风琴列表视图(Accordion List View)

如果你希望给列表视图加上手风琴布局,你应该使用"item-link"元素而不是"accordion-toggle"元素:

  1. <div class="list-block accordion-list">
  2.     <ul>
  3.         <li class="accordion-item">
  4.             <a href="" class="item-link item-content">
  5.                 <div class="item-inner">
  6.                     <div class="item-title">Item 1</div>
  7.                 </div>
  8.             </a>
  9.             <div class="accordion-item-content">Item 1 content ...</div>
  10.         </li>
  11.         <li class="accordion-item">
  12.             <a href="" class="item-link item-content">
  13.                 <div class="item-inner">
  14.                     <div class="item-title">Item 2</div>
  15.                 </div>
  16.             </a>
  17.             <div class="accordion-item-content">Item 2 content ...</div>
  18.         </li>
  19.     </ul>
  20. </div>
复制

示例

  1. <!-- List View -->
  2. <div class="content-block-title">List View Accordion</div>
  3. <div class="list-block accordion-list">
  4.   <ul>
  5.     <li class="accordion-item"><a href="#" class="item-content item-link">
  6.         <div class="item-inner">
  7.           <div class="item-title">Item 1</div>
  8.         </div></a>
  9.       <div class="accordion-item-content">
  10.         <div class="content-block">
  11.           <p>Item 1 content. Lorem ipsum dolor sit amet...</p>
  12.         </div>
  13.       </div>
  14.     </li>
  15.     <li class="accordion-item"><a href="#" class="item-content item-link">
  16.         <div class="item-inner">
  17.           <div class="item-title">Item 2</div>
  18.         </div></a>
  19.       <div class="accordion-item-content">
  20.         <div class="content-block">
  21.           <p>Item 2 content. Lorem ipsum dolor sit amet...</p>
  22.         </div>
  23.       </div>
  24.     </li>
  25.     ...
  26.   </ul>
  27. </div>
  28. <!-- Separate collapsibles - omit "accordion-list" class-->
  29. <div class="content-block-title">Separate Collapsibles</div>
  30. <div class="list-block">
  31.   <ul>
  32.     <li class="accordion-item"><a href="#" class="item-content item-link">
  33.         <div class="item-inner">
  34.           <div class="item-title">Item 1</div>
  35.         </div></a>
  36.       <div class="accordion-item-content">
  37.         <div class="content-block">
  38.           <p>Item 1 content. Lorem ipsum dolor sit amet...</p>
  39.         </div>
  40.       </div>
  41.     </li>
  42.     <li class="accordion-item"><a href="#" class="item-content item-link">
  43.         <div class="item-inner">
  44.           <div class="item-title">Item 2</div>
  45.         </div></a>
  46.       <div class="accordion-item-content">
  47.         <div class="content-block">
  48.           <p>Item 2 content. Lorem ipsum dolor sit amet...</p>
  49.         </div>
  50.       </div>
  51.     </li>
  52.     ...
  53.   </ul>
  54. </div>
  55. <!-- Custom Accordion -->
  56. <div class="content-block-title">Custom Accordion</div>
  57. <div class="content-block accordion-list custom-accordion">
  58.   <div class="accordion-item">
  59.     <div class="accordion-item-toggle">
  60.       <i class="icon icon-plus">+</i>
  61.       <i class="icon icon-minus">-</i>
  62.       <span>Item 1</span>
  63.     </div>
  64.     <div class="accordion-item-content">
  65.       <p>Item 1 content. Lorem ipsum dolor sit amet...</p>
  66.     </div>
  67.   </div>
  68.   <div class="accordion-item">
  69.     <div class="accordion-item-toggle">
  70.       <i class="icon icon-plus">+</i>
  71.       <i class="icon icon-minus">-</i>
  72.       <span>Item 2</span>
  73.     </div>
  74.     <div class="accordion-item-content">
  75.       <p>Item 2 content. Lorem ipsum dolor sit amet...</p>
  76.     </div>
  77.   </div>
  78.   ...
  79. </div>
复制

实例预览

JavaScript API

手风琴组件有JavaScript API,你可以在JS中控制打开和关闭。方法说明如下:

myApp.accordionOpen(item) - 打开指定的条目

  • item - HTMLElement or string (想要操作的条目的CSS选择器 (<div class="accordion-item">). 必须。

myApp.accordionClose(item) - 关闭指定条目

  • item - HTMLElement or string (想要操作的条目的CSS选择器 (<div class="accordion-item">). 必须

myApp.accordionToggle(item) - toggle 指定条目

  • item - HTMLElement or string (想要操作的条目的CSS选择器 (<div class="accordion-item">). Required

事件

手风琴有这些事件:

事件名称 Target 说明
open Accordion item<div class="accordion-item"> 某一条目开始执行打开动画的时候会触发
opened Accordion item<div class="accordion-item"> 某一条目完成打开动画后触发
close Accordion item<div class="accordion-item"> 某一条目开始执行关闭动画的时候会触发
closed Accordion item<div class="accordion-item"> 某一条目完成关闭动画后触发
  1. var myApp = new Framework7();
  2.  
  3. var $$ = Dom7;
  4.  
  5. $$('.accordion-item').on('opened', function () {
  6.   myApp.alert('Accordion item opened');
  7. }); 
  8.  
  9. $$('.accordion-item').on('closed', function (e) {
  10.   myApp.alert('Accordion item closed');
  11. });
复制

 

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

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

相关推荐

    HTML移动端框架Framework7.zip

    Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。Framework7 使用 Javascript,CSS 和 HTML 来...

    ios-手风琴.zip

    在iOS开发中,"手风琴效果"通常指的是在用户界面中实现的一种交互式列表视图,它允许用户展开或折叠各个部分以显示或隐藏详细内容。这种效果常见于导航菜单、设置页面或者数据分类展示等场景,可以有效节省屏幕空间...

    (0017)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Grid View

    在iOS开发中,视图布局(View Layout)是构建用户界面的关键部分,特别是在设计复杂的界面如网格视图(Grid View)时。网格视图是一种显示数据的高效方式,它将内容组织成行和列,常见于照片应用、电商应用的商品...

    (0071)-iOS/iPhone/iPAD/iPod源代码-日历(Calendar)-KalCalendar

    在iOS开发中,创建一个类似Apple的MobileCal的日历效果是一项常见的需求,这涉及到iOS的事件框架(EventKit)和自定义视图的绘制。"(0071)-iOS/iPhone/iPAD/iPod源代码-日历(Calendar)-KalCalendar" 提供的...

    Framework7Vue使用Framework7和Vue构建完整的iOS和Android应用程序

    Framework7是一款免费、开源的移动应用框架,旨在为开发者提供构建iOS和Android应用的全套工具。它提供了丰富的组件库,包括导航、表单、视图、滑块等,使开发者能够轻松实现原生应用的界面和交互效果。 二、Vue.js...

    移动端 手风琴

    在移动端开发中,"手风琴"是一种常见的交互效果,常用于内容展示和导航菜单,以节省屏幕空间。手风琴效应允许用户展开或关闭特定的面板,展示或隐藏相应的内容。这种效果在混合APP(Hybrid App)开发中特别受欢迎,...

    (0064)-iOS/iPhone/iPAD/iPod源代码-列表(Table)-QuickDialog

    QuickDialog 是一个强大的 iOS 开发框架,专门用于构建基于 UITableView 的用户界面,尤其适用于创建复杂的表单和对话框。这个框架极大地简化了自定义 UITableViewCell 的过程,使得开发者能够快速、高效地实现各种...

    (0056)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Open Spring Board

    实现类似iphone/iPad主界面(spring board)的效果,多个图标的布局,视图能横向滑动,识别单个图标的点击事件。长按某个图标,所有图标一起颤动,可以移动图标和删除图标。 注意:请在Mac下解压使用

    ios开发 AES-128-ECB加密

    之前遇到的需求,ios上没有类似的实现。搞了好久在网上搜了很多资料都不能解决最后找到了一个c/c++的底层源码,才实现了最后整理了下上传了。是个ios的demo很详细你定能看懂的。运行在xcode环境下,关键算法的文件是...

    PyPI 官网下载 | pyobjc-framework-Cocoa-6.0.1.tar.gz

    Objective-C是苹果公司开发的一种面向对象的编程语言,广泛应用于MacOS和iOS平台的软件开发。Cocoa是Apple为这两种操作系统提供的原生开发框架,包含了大量用于构建图形用户界面、处理事件、管理文件系统等任务的...

    Framework7用于构建iOS和Android应用全功能移动HTML框架

    Framework7是一款强大的、免费的HTML5移动应用框架,专为构建具有原生iOS和Android界面风格的混合式移动应用而设计。它允许开发者使用Web技术(如HTML, CSS, JavaScript)来创建高度交互且功能丰富的应用程序,同时...

    IOS应用源码Demo-iOS framework 制作教程【非静态包】-毕设学习.zip

    提供的【应用】★★★★-iOS framework 制作教程【非静态包】源码示例,应该包含了完整的框架创建过程和相关代码,你可以通过阅读和运行这个项目来加深理解。在实践中,你可以尝试修改源代码,添加新的功能,或者...

    iPhone开发入门到精通视频教程

    iPhone开发入门到精通视频教程资源目录:【】iOS开发源码系列---工具【】iOS开发源码系列---应用【】iOS开发源码系列---游戏【】iOS开发源码系列---类库与框架【】iOS开发真机测试与发布【】iOS开发视频教程01~05...

    敏捷框架移动端开发环境安装_力软敏捷框架移动端开发环境安装_力软_力软-敏捷框架_teampa3_移动端_源码.zip

    本压缩包文件“敏捷框架移动端开发环境安装_力软敏捷框架移动端开发环境安装_力软_力软-敏捷框架_teampa3_移动端_源码.zip”显然包含了力软敏捷框架移动端开发所需的全部资源,包括源码和环境安装指南。 1. **敏捷...

    WebRTC.framework iOS Debug arm64与x86-64架构

    iOS Debug环境 arm64与x86_64架构 WebRTC.framework Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64] Mach-O 64-bit dynamically linked ...

    Framework7是一个用于构建iOS和Android应用的全功能HTML框架

    Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。

    手机移动端电商,IOS,Android

    总之,手机移动端电商在iOS和Android平台上的实现涉及多方面的技术和策略。从H5页面的构建到原生功能的集成,再到用户体验的优化,每一个环节都需要精心设计和实施。随着技术的不断发展,未来的移动端电商将更加智能...

    (0042)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Spring Board View

    实现类似iPhone/iPad主界面(spring board)的效果,多个图标的布局,视图能横向滑动,识别单个图标的点击事件。长按某个图标,所有图标一起颤动,可以移动图标和删除图标。 注意:请在Mac下解压使用

    iOS通用开发框架

    在iOS应用开发中,构建一个通用的开发框架是提高开发效率和代码复用性的重要手段。这个开源项目名为“iOS通用开发框架”,旨在为开发者提供一套便捷、高效的基础工具集,帮助他们快速构建iOS应用程序。下面我们将...

    ios开发-使用mpass移动开发框架在ios端抓包hook脚本.zip

    "ios开发-使用mpass移动开发框架在ios端抓包hook脚本.zip"是一个针对iOS开发者的重要资源,它包含了一套利用mpass移动开发框架在iOS设备上实现抓包功能的hook脚本。本文将详细介绍如何使用这个框架和脚本来实现iOS端...

Global site tag (gtag.js) - Google Analytics