首页 > 移动平台 > 详细

移动端安卓和IOS开发框架Framework7教程-登陆屏

时间:2016-06-12 04:07:07      阅读:323      评论:0      收藏:0      [点我收藏+]

Framework7支持登陆屏布局,它可以用在页面内部,或者用在弹出框中(嵌入),或者用作单独的遮罩。

登陆屏布局

首先,我们看一下单独的登录屏布局,它和弹出框很像:

  1. <body>
  2. ??...
  3. ??<!--?Should?be?a?direct?child?of?BODY?-->
  4. ??<div?class="login-screen">
  5. ??????<!--?Default?view-page?layout?-->
  6. ??????<div?class="view">
  7. ????????<div?class="page">
  8. ??????????<!--?page-content?has?additional?login-screen?content?-->
  9. ??????????<div?class="page-content?login-screen-content">
  10. ????????????<div?class="login-screen-title">My?App</div>
  11. ????????????<!--?Login?form?-->
  12. ????????????<form>
  13. ??????????????<div?class="list-block">
  14. ????????????????<ul>
  15. ??????????????????<li?class="item-content">
  16. ????????????????????<div?class="item-inner">
  17. ??????????????????????<div?class="item-title?label">Username</div>
  18. ??????????????????????<div?class="item-input">
  19. ????????????????????????<input?type="text"?name="username"?placeholder="Username">
  20. ??????????????????????</div>
  21. ????????????????????</div>
  22. ??????????????????</li>
  23. ??????????????????<li?class="item-content">
  24. ????????????????????<div?class="item-inner">
  25. ??????????????????????<div?class="item-title?label">Password</div>
  26. ??????????????????????<div?class="item-input">
  27. ????????????????????????<input?type="password"?name="password"?placeholder="Password">
  28. ??????????????????????</div>
  29. ????????????????????</div>
  30. ??????????????????</li>
  31. ????????????????</ul>
  32. ??????????????</div>
  33. ??????????????<div?class="list-block">
  34. ????????????????<ul>
  35. ??????????????????<li>
  36. ????????????????????<a?href="#"?class="item-link?list-button">Sign?In</a>
  37. ??????????????????</li>
  38. ????????????????</ul>
  39. ????????????????<div?class="list-block-labe">Some?text?with?login?information.</div>
  40. ??????????????</div>
  41. ????????????</form>
  42. ??????????</div>
  43. ????????</div>
  44. ??????</div>
  45. ??</div>
  46. </body>
复制

注意,你在<div class="login-screen">内部看到的元素都是可选的,但是你可以把它们作为你登陆表单的样板

打开和关闭登录屏

使用HTML

可以通过在链接上添加特定的类来打开关闭登陆屏

  • 为了打开登录屏,我们需要在HTML元素(最好是链接)上添加"open-login-screen"

  • 为了关闭登录屏,我们需要在HTML元素(最好是链接)上添加"close-login-screen"

下面是示例:

  1. <body>
  2. ??...
  3. ????<div?class="page-content">
  4. ??????<div?class="content-block">
  5. ????????<p><a?href="#"?class="open-login-screen">Open?Login?Screen</a></p>
  6. ??????</div>
  7. ????</div>
  8. ??...
  9. ??<div?class="login-screen">
  10. ????<div?class="view">
  11. ??????<div?class="page">
  12. ????????<div?class="page-content?login-screen-content">
  13. ??????????<div?class="login-screen-title">My?App</div>
  14. ??????????<form>
  15. ????????????<div?class="list-block">
  16. ??????????????<ul>
  17. ????????????????<li?class="item-content">
  18. ??????????????????<div?class="item-inner">
  19. ????????????????????<div?class="item-title?label">Username</div>
  20. ????????????????????<div?class="item-input">
  21. ??????????????????????<input?type="text"?name="username"?placeholder="Your?username">
  22. ????????????????????</div>
  23. ??????????????????</div>
  24. ????????????????</li>
  25. ????????????????<li?class="item-content">
  26. ??????????????????<div?class="item-inner">
  27. ????????????????????<div?class="item-title?label">Password</div>
  28. ????????????????????<div?class="item-input">
  29. ??????????????????????<input?type="password"?name="password"?placeholder="Your?password">
  30. ????????????????????</div>
  31. ??????????????????</div>
  32. ????????????????</li>
  33. ??????????????</ul>
  34. ????????????</div>
  35. ????????????<div?class="list-block">
  36. ??????????????<ul>
  37. ????????????????<li><a?href="#"?class="item-link?list-button">Sign?In</a></li>
  38. ??????????????</ul>
  39. ??????????????<div?class="list-block-label">
  40. ????????????????<p>Lorem?ipsum?dolor?sit?amet,?consectetur?adipiscing?elit.</p>
  41. ????????????????<p><a?href="#"?class="close-login-screen">Close?Login?Screen</a></p>
  42. ??????????????</div>
  43. ????????????</div>
  44. ??????????</form>
  45. ????????</div>
  46. ??????</div>
  47. ????</div>
  48. ??</div>
  49. ??...
  50. </body>
复制

实例预览

使用JavaScript

我们可以通过JavaScript来打开关闭登陆屏,先来看一下相关的App方法:

myApp.loginScreen() - 打开登录屏

myApp.closeModal(loginScreen) - 关闭登录屏

  • loginScreen - HTML元素或是(含有CSS选择器的)字符串。可选。如果没有指定,任何打开的登陆屏/弹出框/模态框都会被关闭。
  1. <body>
  2. ??...
  3. ????<div?class="page-content">
  4. ??????<div?class="content-block">
  5. ????????<p><a?href="#"?class="open-login">Open?Login?Screen</a></p>
  6. ??????</div>
  7. ????</div>
  8. ??...
  9. ??<div?class="login-screen">
  10. ????...?login?screen?content?...
  11. ??</div>
  12. ??...
  13. </body>
复制
  1. var?myApp?=?new?Framework7();
  2. ?
  3. var?$$?=?Dom7;
  4. ?
  5. $$(‘.open-login‘).on(‘click‘,?function?()?{
  6. ??myApp.loginScreen();
  7. });
复制

实例预览

登陆屏事件

登陆屏具有和Modal一样的事件,当你需要在登陆屏打开/关闭时执行操作的时候,它们会有用处。

事件 对象 描述
open 登陆屏元素<div class="login-screen"> 当登陆屏开始弹出动画的时候,事件触发
opened 登陆屏元素<div class="login-screen"> 当登陆屏完成弹出动画的时候,事件触发
close 登陆屏元素<div class="login-screen"> 当登陆屏开始结束动画的时候,事件触发
closed 登陆屏元素<div class="login-screen"> 当登陆屏完成结束动画的时候,事件触发

从登陆屏开启应用

很多时候,我们需要把登陆屏作为应用的第一个页面。为了使它在加载时可见,我们只需要对登陆屏遮罩添加"modal-in"类:

  1. <body>
  2. ??...
  3. ??<div?class="login-screen?modal-in">
  4. ????...?login?screen?content?...
  5. ??</div>
  6. </body>
复制

实例预览

嵌入式登陆屏

也可以把登陆屏嵌入到页面或弹出框中。我们来看一下页面内登陆屏的示例:

index page:

  1. <div?data-page="home"?class="page?navbar-fixed">
  2. ??<div?class="navbar">
  3. ????<div?class="navbar-inner">
  4. ??????<div?class="left"></div>
  5. ??????<div?class="center">Embedded?Login?Screen</div>
  6. ??????<div?class="right"></div>
  7. ????</div>
  8. ??</div>
  9. ??<div?class="page-content">
  10. ????<div?class="content-block">
  11. ??????<p><a?href="login-screen-page.html"?class="open-login-screen">Open?page?with?Login?Screen</a></p>
  12. ????</div>
  13. ??</div>
  14. </div>
复制

login-screen-page.html:

  1. <div?data-page="login-screen"?class="page?no-navbar?no-toolbar?no-swipeback">
  2. ??<div?class="page-content?login-screen-content">
  3. ????<div?class="login-screen-title">My?App</div>
  4. ????<form>
  5. ??????<div?class="list-block">
  6. ????????<ul>
  7. ??????????<li?class="item-content">
  8. ????????????<div?class="item-inner">
  9. ??????????????<div?class="item-title?label">Username</div>
  10. ??????????????<div?class="item-input">
  11. ????????????????<input?type="text"?name="username"?placeholder="Your?username"/>
  12. ??????????????</div>
  13. ????????????</div>
  14. ??????????</li>
  15. ??????????<li?class="item-content">
  16. ????????????<div?class="item-inner">
  17. ??????????????<div?class="item-title?label">Password</div>
  18. ??????????????<div?class="item-input">
  19. ????????????????<input?type="password"?name="password"?placeholder="Your?password"/>
  20. ??????????????</div>
  21. ????????????</div>
  22. ??????????</li>
  23. ????????</ul>
  24. ??????</div>
  25. ??????<div?class="list-block">
  26. ????????<ul>
  27. ??????????<li><a?href="#"?class="item-link?list-button">Sign?In</a></li>
  28. ????????</ul>
  29. ????????<div?class="list-block-label">
  30. ??????????<p>Click?Sign?In?to?close?Login?Screen</p>
  31. ????????</div>
  32. ??????</div>
  33. ????</form>
  34. ??</div>
  35. </div>
复制

my-app.js ? ? ?

  1. var?myApp?=?new?Framework7();
  2. var?$$?=?Dom7;
  3. ?
  4. var?mainView?=?myApp.addView(‘.view-main‘);
  5. ?
  6. myApp.onPageInit(‘login-screen‘,?function?(page)?{
  7. ??var?pageContainer?=?$$(page.container);
  8. ??pageContainer.find(‘.list-button‘).on(‘click‘,?function?()?{
  9. ????var?username?=?pageContainer.find(‘input[name="username"]‘).val();
  10. ????var?password?=?pageContainer.find(‘input[name="password"]‘).val();
  11. ????//?Handle?username?and?password
  12. ????myApp.alert(‘Username:?‘?+?username?+?‘,?Password:?‘?+?password,?function?()?{
  13. ??????mainView.goBack();
  14. ????});
  15. ??});
  16. });
复制

实例预览

注意,在登陆屏上我们有额外的"no-navbar","no-toolbar"和"no-swipeback"类,用来向用户隐藏导航元素。

移动端安卓和IOS开发框架Framework7教程-登陆屏

原文:http://zaixianshouce.iteye.com/blog/2303449

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!