百度前端学院js课堂作业合集+分析

Posted xing.org1^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度前端学院js课堂作业合集+分析相关的知识,希望对你有一定的参考价值。

第一课:

技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>js课程第一课</title>
 6     <style>
 7         body{padding: 20px;font:16px "微软雅黑";}
 8         h3{text-align: center;margin-top: 0;}
 9         label{width: 65px;display: inline-block;text-align: right;}
10         input{padding: 5px; border: 1px solid gray}
11         input:focus{outline: none;border: 1px solid #4488ff;}
12         span{font-size: 14px;}
13         .box{position: absolute;top: 0;right:0;bottom:0;left:0;margin: auto;width: 260px;height: 180px;padding: 20px;box-shadow: 0px 2px 3px 3px #f1f1f1;border-radius: 5px;transform: scale(1);transition: transform .35s ease-in-out;}
14         .row{margin-top: 10px;}
15         .error{color: red;font-size: 12px;padding: 5px 0;margin: 0;padding-left: 70px;}
16         .btn{padding: 5px 10px;background: #fff; border-radius: 5px;}
17         .btn:hover{color: #fff;background: #4488ff;border-color: #4488ff;cursor: pointer;}
18         .close{position: absolute;top: 10px;right: 10px;line-height: 14px;color: #DEDEDE;font-size: 24px;height: 14px;overflow: hidden;transform: rotate(0deg);transition: transform .35s;}
19         .close:hover{color: #333;cursor: pointer;transform: rotate(180deg);transition: transform .35s;}
20         /*.box-child{display: none;}*/
21         .box-child{display: block;background: #fff;line-height: 180px;text-align: center;transform: scale(0);}
22         .box-an{display: block;transform: scale(1);}
23         .box-child p{line-height: 30px;margin-top: 45px;}
24         .gray{color: gray;}
25         .black{color: black;}
26     </style>
27 </head>
28 <body>
29     <div class="box">
30         <h3>这是一个相当low的登录框</h3>
31         <form action="">
32             <div class="row">
33                 <label for="name">用户名:</label>
34                 <input type="text" id="name" placeholder="请输入您的用户名" value="">
35                 <p class="error" id="tip"></p>
36             </div>
37             <div class="row">
38             <label for="pass">密码:</label>
39                 <input type="password" id="pass" placeholder="" value="">
40             </div>
41             <div class="row">
42                 <input type="button" value="登录" id="submit" class="btn" style="margin: 0 20px 0 75px;">
43                 <input type="reset" value="取消" class="btn">
44             </div>
45         </form>
46         <div class="box box-child">
47             <p><span id="sCont"></span><br>欢迎您登录小石头官网!</p>
48             <span id="close" class="close">X</span>
49         </div>
50     </div>
51     <script>
52         var oBtn = document.getElementById("submit"),
53                 oTip = document.getElementById("tip"),
54                 sCont = document.getElementById("sCont"),
55                 oClose = document.getElementById("close"),
56                 sName = document.getElementById("name");
57         oBtn.onclick = function(){
58             if(!sName.value){
59                 oTip.innerText = "请输入您的的用户名!";
60                 // 修改元素文本innerText
61             }else{
62                 // sCont.parentNode.parentNode.className = "box box-child box-an";
63                 // 选取父元素parentNode、选择其他元素(下图)
64                 // sCont.parentNode.parentNode.style.display = ‘block‘;
65                 sCont.parentNode.parentNode.style.transform = scale(1);
66                 sCont.innerText = HELLO! + sName.value + ;
67                 // +号用于字符连接
68             }
69         }
70         oClose.onclick=function(){
71             // sCont.parentNode.parentNode.className = "box box-child";//通过增删类名(核心是修改display或者其他用于可见/隐藏的方案,比如scale的0/1,比如opacity的0/1等)
72             // document.querySelector(".box-child")[‘style‘].display = ‘none‘;//通过display的方式修改值
73             // 注意querySelector的选择方法
74             // 注意[‘style‘]这种方括号选取属性的方法
75             sCont.parentNode.parentNode.style.transform = scale(0);
76             // 想要实现动画效果就要更改动画值,之前我是transform和display一起更改,动画效果就看不出来,后来只更改缩放,就有了效果。
77         }
78     </script>
79 </body>
80 </html>
代码
技术分享
1.js查找父元素:parentNode
其他补缺:
全部节点:childNodes
弟弟妹妹节点:nextSbiling
哥哥姐姐节点:previousSbiling
第一个儿子:firstChild
最后一个儿子:lastChild
2.document.querySelector(".btn-child"),注意选择器的那个点,或者是id的时候注意#号
3.当input的表单类型为submit和reset,且被form元素包裹的时候,点击submit和reset的类似按钮,会在执行完毕逻辑(比如提交表单)后,重置/重新刷新页面。当你想要提交后不刷新的功能时,我的解决方法是把submit改成了button按钮。
不足:

 

以上是关于百度前端学院js课堂作业合集+分析的主要内容,如果未能解决你的问题,请参考以下文章

百度前端技术学院2015JavaScript基础部分代码实现

VS Code中小程序与Vue常用插件合集(前端合集)

百度前端技术学院-task2.18-2.19源码以及个人总结

百度前端技术学院task13源代码

百度前端技术学院-task1.10源代码

百度前端技术学院-task1.3源代码