4-3 实战题
本节编程练习不计算学习进度,请电脑登录imooc.com操作

实战题

学习完《遮罩全屏及自动居中浮层》课程后,进行本题目的实战练习,通读右侧编辑器中的代码,完成相应的任务!本

模块有三个任务等着你去完成!

任务

任务1:请在右侧编辑器的133行补充完整脚本中g函数的内容

任务2:请在右侧编辑器的143行补充完整脚本 autoCenter 函数中 计算元素居中时left的值的具体代码

任务3:请在右侧编辑器的133行补充完整脚本中 fillToBody 函数中 获取可视区域高度的代码

温馨提示:完成的任务要与要求的代码效果相一致才可以通过本次测试,否则就再看一遍视频哦!
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  
  6. <title>慕课网-拖拽效果</title>
  7.  
  8. <style type="text/css">
  9.  
  10. body{background: url(images/baidu_demo.png) #fff top center no-repeat;
  11. padding: 0px;margin: 0px;font-size: 12px;font-family: "微软雅黑";
  12. }
  13.  
  14. /*登录浮层组件*/
  15. .ui-dialog{
  16. width: 380px;height: auto;
  17. position: absolute;z-index: 9000;
  18. top: 100px;left: 100px;
  19. border: 1px solid #D5D5D5;background: #fff;
  20. }
  21.  
  22. .ui-dialog a{text-decoration: none;}
  23.  
  24. /*标题栏区域*/
  25. .ui-dialog-title{
  26. height: 48px;line-height: 48px; padding:0px 20px;color: #535353;font-size: 16px;
  27. border-bottom: 1px solid #efefef;background: #f5f5f5;
  28. cursor: move;
  29. user-select:none;
  30. }
  31.  
  32. /*关闭按钮设置*/
  33. .ui-dialog-closebutton{
  34. width: 16px;height: 16px;display: block;
  35. position: absolute;top: 12px;right: 20px;
  36. background: url(images/close_def.png) no-repeat;cursor: pointer;
  37.  
  38. }
  39. .ui-dialog-closebutton:hover{background:url(images/close_hov.png);}
  40.  
  41. /*内容区域*/
  42. .ui-dialog-content{
  43. padding: 15px 20px;
  44. }
  45.  
  46. /*每行元素可能需要的样式*/
  47. .ui-dialog-pt15{
  48. padding-top: 15px;
  49. }
  50. .ui-dialog-l40{
  51. height: 40px;line-height: 40px;
  52. text-align: right;
  53. }
  54.  
  55. /*输入框公用的样式*/
  56. .ui-dialog-input{
  57. width: 100%;height: 40px;
  58. margin: 0px;padding:0px;
  59. border: 1px solid #d5d5d5;
  60. font-size: 16px;color: #c1c1c1;
  61. text-indent: 25px;
  62. outline: none;
  63. }
  64.  
  65. /*两个输入框的icon设置*/
  66. .ui-dialog-input-username{
  67. background: url(images/input_username.png) no-repeat 2px ;
  68. }
  69. .ui-dialog-input-password{
  70. background: url(images/input_password.png) no-repeat 2px ;
  71. }
  72.  
  73. /*提交按钮的样式*/
  74. .ui-dialog-submit{
  75. width: 100%;height: 50px;background: #3b7ae3;border:none;font-size: 16px;color: #fff;
  76. outline: none;text-decoration: none;
  77. display: block;text-align: center;line-height: 50px;
  78. }
  79. .ui-dialog-submit:hover{
  80. background: #3f81b0;
  81. }
  82.  
  83.  
  84. .ui-mask{
  85. width: 100%;height:100%;background: #000;
  86. position: absolute;top: 0px;height: 0px;z-index: 8000;
  87. opacity:0.4; filter: Alpha(opacity=40);
  88. }
  89.  
  90. .link{
  91. text-align: right;line-height: 20px;padding-right: 40px;
  92. }
  93.  
  94. </style>
  95. </head>
  96. <body >
  97. <div class="ui-dialog" id="dialog">
  98.  
  99. <div class="ui-dialog-title" id="dialogTitle">
  100. 登录通行证
  101. <a href="javascript:hideDialog();" class="ui-dialog-title-closebutton"></a>
  102. </div>
  103. <div class="ui-dialog-content">
  104.  
  105.  
  106. <div class="ui-dialog-pt15 ui-dialog-l40">
  107. <input type="text" value="手机/邮箱/用户名" class="ui-dialog-input ui-dialog-input-username">
  108. </div>
  109. <div class="ui-dialog-pt15 ui-dialog-l40">
  110. <input type="text" value="密码" class="ui-dialog-input ui-dialog-input-password">
  111. </div>
  112. <div class=" ui-dialog-l40 ">
  113. <a href="#">忘记密码</a>
  114. </div>
  115. <div>
  116.  
  117. <a href="#" class="ui-dialog-submit">登录</a>
  118.  
  119. </div>
  120. <div class="ui-dialog-l40">
  121. <a href="#">立即注册</a>
  122. </div>
  123. </div>
  124. </div>
  125. <div class="link">
  126. <a href="javascript:showDialog();">登录</a>
  127. </div>
  128. <div class="ui-mask" id="mask" onselectstart="return false"></div>
  129.  
  130. <script type="text/javascript">
  131.  
  132. // 获取元素对象
  133. function g(id){【任务1】}
  134.  
  135. // 自动居中元素(el = Element)
  136. function autoCenter( el ){
  137. var bodyW = document.documentElement.clientWidth;
  138. var bodyH = document.documentElement.clientHeight;
  139.  
  140. var elW = el.offsetWidth;
  141. var elH = el.offsetHeight;
  142.  
  143. el.style.left = 【任务2】 + 'px';
  144. el.style.top = (bodyH-elH)/2 + 'px';
  145.  
  146. }
  147.  
  148. // 自动扩展元素到全部显示区域
  149. function fillToBody( el ){
  150. el.style.width = document.documentElement.clientWidth +'px';
  151. el.style.height = 【任务3】 + 'px';
  152. }
  153.  
  154. </script>
  155.  
  156. </body>
  157. </html>
下一节