Java web 2022跟学尚硅谷(一) 前端基础
2022版Java web跟学尚硅谷
- B/S 软件的结构
- HTML的基础标签
- 基础标签
- 页面划分标签
- frameset
- iframe
- 总结
- CSS
- 基本样式介绍
- 盒子模型
- 绝对定位与相对定位
- 页面布局
- 水果库存界面绘制
- javascript
- 数据类型
- 续写水果库存
- 水果库存添加事件[课后作业]
- 总结
B/S 软件的结构
HTML的基础标签
基础标签
<html><head><title>这是我的第一个网页</title><meta charset = "UTF-8"></head><body>hello world!<br/>你好,html!<p>这里是一个段落</p><p>这里是另一个段落</p><img src = "imgs/girl.jpg" width="57" high = "63" title = "这里是一张图片" alt = "假装这里有图片"></img><h1>标题1</h1><h2>标题2</h2><h3>标题3</h3><h4>标题4</h4><h5>标题5</h5><h6>标题6</h6><ol style="margin-left: 20px;" type = "i" start = "3"><li>扫地僧</li><li>乔峰</li><li>慕容博</li><li>虚竹</li><li>阿紫</li></ol><ul type = "square"><li>牛头</li><li>马面</li><li>金角</li><li>银角</li></ul>疯狂<b>星期四</b>是<i>昨天</i>但是今天有<u>麦当劳</u><br/><b><i><u>我喜欢德克士</u></i></b><br/>水分子的化学式: H<sub>2</sub>O<br/>氧气的化学式:O<sub>2</sub><br/>2<sup>2</sup> = 4<br/>5<10<br/>10>5<br/>10≥10<br/>注册商标®<br/>版权符号©<br/><span >高圆圆和赵又廷</span><br/><a href = "https://www.baidu.com/" target = "_blank">百度一下</a><br/><div id = "div1">div1</div><div id = "div2">div2</div><div id = "div3">div3</div><style>div{width:200px;height:200px;position:absolute;}#div1{background-color:#AF8;}#div2{background-color:#BCA;left:100px;top:1100px;}#div3{background-color:#FFB;left:200px;top:1200px;}</style><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><table border = "1" width = "600" cellspacing = "0" cellpadding = "4"><tr align = "center"><th>姓名</th><th>球队</th><th>身高</th><th>得分</th><th>篮板</th></tr><tr align = "center"><td>库里</td><!--这里是跨行显示 --><td rowspan = "2">勇士</td><td>1.98</td><td>30.1</td><td>4.5</td></tr><tr align = "center"><td>汤普森</td><td>2.01</td><td>18.7</td><td>6.7</td></tr><tr align = "center"><td>詹姆斯</td><td>湖人</td><td>2.10</td><td>28.5</td><td>7.7</td></tr></table><br/><table border = "1" width = "700" cellspacing = "0" cellpadding = "4"><tr align = "center"><th>球队</th><th>半区</th><th>所在地</th><th>排名</th><th>当家球星</th><th>操作</th></tr><tr align = "center"><td>勇士</td><td>西部</td><td>金州</td><td>8</td><td>库里</td><td><img src = "imgs/del.jpeg" width = "25" height = "25"></img></td></tr><tr align = "center"><td>湖人</td><td>西部</td><td>洛杉矶</td><td>13</td><td>詹姆斯</td><td><img src = "imgs/del.jpeg" width = "25" height = "25"></img></td></tr><tr align = "center"><td>总计</td><td colspan = "5">2</td></tr></table><br/><br/><br/><br/><!--发送方式 method 有 post和get --><form style = "border: 1px solid red;" action = "demo04.html" method = "post">昵称: <input type = "text" name = "name" value = "请输入你的昵称"/><br/>密码: <input type = "password" name = "pwd"/><br/><!-- 这里name 一样的话只能单选 -->性别: <input type = "radio" name = "gender" value = "male" checked = "checked"/>男<input type = "radio" name = "gender" value = "female"/>女<br/><!-- 这里name 不一样的话可以多选 当checked的属性名和属性值相等时,可以不写属性值 -->职业: <input type = "radio" name = "job" value = "mainjob" checked />主职<input type = "radio" name = "job2" value = "subjob"/>兼职<br/>爱好: <input type = "checkbox" name = "hobby" value = "basketball"/>篮球<input type = "checkbox" name = "hobby" value = "sing"/>唱<input type = "checkbox" name = "hobby" value = "jump" checked = "checked"/>跳<br/>星座: <select name = "star"><option value = "1">白羊座</option><option value = "2">水瓶座</option><option value = "3">天蝎座</option><option value = "4">摩羯座</option><option value = "5">巨蟹座</option><option value = "6">狮子座</option><option value = "7">双子座</option><option value = "8" selected>处女座</option></select><br/>备注: <textarea name = "remark" rows = "4" cols = "50"></textarea><br/><input type = "submit" name = "register" value = " 注 册 " ><!-- 恢复到页面的默认状态--><input type = "reset" name = "default" value = " 重置 " ><input type = "button" name = "btn1" value = " 普通按钮 " ></form> </body>
</html>
<!--
1.html是解释型的语言,不是编译型语言,浏览器是容错的
2.html页面中由一对标签组成:
<html> 开始标签
</html> 结束标签3.标题 <title>
4.<meta charset = "UTF-8"> 可以设置编码格式5.<br/>表示换行,br标签是一个单标签,开始标签和结束标签是同一个,斜杠放在单词的后面
6.<p></p>段落标签
7.<img>图片标签 src图片的路径 title鼠标悬停提示标签 alt 图片加载失败的时候,显示文字
8.路径:(1)相对路径 (2)绝对路径
9.标题:<h1>~<h6>
10.列表标签<o1>有序列表 start 表示从哪儿开始, type表示格式可以写(A、I、i、1默认)<ul>无序列表 type类型可以写(square方块 disc圆饼实心默认 circle圆圈空心)
11.<b>加粗 <u>下划线 <i>斜体
12.<sub>下方缩小 <sup>上方缩小
13.html中的实体:<小于>大于≥大于等于®注册商标©版权符号
通过百度搜索"html实体"可以查看更多的API
14.<span>局部做特殊处理
15.超链接 <a> href链接的地址 target中设置:_blank说明新开标签页打开_self说明在当前窗口打开(默认)_parent在父窗口打开_top在顶层窗口打开16.层<div>
17.表格 <table> <tr>表示一行 属性有align (center,left,right)<td>表示列<th>表头列用这个table的属性,虽然淘汰了但是最好了解一下:border = "1" 表格边框的粗细width = "600" 表格宽度cellspacing = "0" 单元格间隙cellpadding = "4"单元格填充rowspan 行合并colspan 列合并18.表单 <form><input type = "text">表示文本框,其中必须要写name属性,否则数据不会发送至服务器<input type = "password">表示密码框<input type = "radio">表示选择按钮,name值保持一致是单选,可以通过checked设置默认值<input type = "checkbox">表示复选框,name值建议保持一致,可以通过checked设置默认值<select>表示下拉列表,每一个选项是option,其中value是发送给服务器的值,selected表示默认选择的值textarea 表示多行文本框,或者文本域,它的值就是标签开始到结束位置之间的内容,所以轻易别换行<input type = "submit">提交按钮<input type = "reset">重置按钮:恢复到页面的默认状态<input type = "button">普通按钮-->
页面展示:
页面划分标签
frameset
<html><head><title>frameset练习</title></head><frameset rows = "20%,*" frameborder = "yes"><frame src = "frames/top.html" ></frame><frameset cols = "15%,*"><frame src = "frames/left.html"></frame><frameset rows = "80%,*"><frame src = "frames/main.html"></frame><frame src = "frames/bottom.html"></frame></frameset> <frameset cols = "85%,*"><frame src = "frames/r.html"></frame></frameset></frameset></frameset></html>
<!--
frameset页面框架,这个标签已经淘汰,了解无需掌握
frame表示框架中的具体页面
-->
页面展示
iframe
<html><head><meta charset = "UTF-8"><title>iframe练习</title></head><body>这里是iframe页面<br/><iframe src = "frames/top.html"></iframe></body></html>
<!--
iframe嵌入子页面的部分-->
页面展示
总结
总结
1.HTML是解释型的文本标记语言,不区分大小写
2.整理一下标签
2.1 html,head,title,meta,body,br,ol,ul,h1-h6,a,img,div,span,p
2.2 空格
2.3 table tr th td
2.4 form(action,method) imput type = “text,password,radio,checkbox,submit,reset,button” select textarea
CSS
基本样式介绍
<html><head><meta charset = "UTF-8"><style type = "text/css">/* 被style标签包裹的范围是css环境,可以写css代码 */p{color:red;}/* 类样式 */.f20{font-size:20px;}</style><link rel = "stylesheet" href= "style/demo01.css"></head><body><!-- <p><font color = "red">这里是段落一</font></p><p><font color = "red">这里是段落二</font></p>--><p>这里是段落一</font></p><p>这里是段落二</font></p><p class = "f20">这里是段落三</font></p>/* id在整个html文档中尽量唯一 */<p id = "p4">这里是段落四</font></p><div><!-- 嵌入式样式表 --><p><span style = "font-size:60px;font-weight:bolder;color:yellow;">Hello</span></p><span class = "f32">World</span><p class = "f32">!!!</p></div></body>
</html><!--
1.为什么需要css
2.css最基本的分类:标签样式表、类样式表、ID样式表
3.css从位置上的分类:嵌入式样式表、内部样式表、外部样式表-->
超链接:
/* id样式 */#p4{background-color:pink;font-size:24px;font-weight:bolder;font-family:"华文彩云";}div p{color:blue;}div .f32{font-size:32px;font-family:"黑体";}
样式展示
盒子模型
<html><head><meta charset = "UTF-8"><style type = "text/css">#div1{width:400px;height:400px;background-color:greenyellow;/* 1.border边框样式 */border-width:1px; /*边框粗细 */border-style:solid; /*边框样式:solid实线 dotted点状式 */border-color:blue; /*边框颜色 *//*border:4px double blue;*//*border-top: 4px dotted blue;*/}#div2{width:150px;height:150px;background-color:gold;/* 2.border边框距离内嵌 */margin-top:100px;margin-left:100px;/*一个值 四个方向统一*//*两个值 上下 左右*//*三个值 上 左右 下*//*四个值 上 右 下 左*//*margin:100px 100px 150px 50px;*//* padding 填充*/padding-top:50px;padding-left:50px;}#div3{width:100px;height:100px;background-color:aquamarine;/*margin-top:50px;*//*margin-left:50px;*/}#div4{width:200px;height:200px;background-color:greenyellow;margin-left:100px;}/* 8像素问题 */body{margin:0;padding:0;}</style></head><body><div id="div1"><div id = "div2"><div id = "div3"> </div></div></div><div id = "div4"></div></body>
</html><!--
盒子模型
IE浏览器中:实际尺寸 = width
chrome浏览器:实际尺寸 = width + 左右border的width + padding盒子模型
1.border 边框样式
2.margin 间距
3.padding 填充
-->
样式展示
绝对定位与相对定位
<html><head><meta charset = "UTF-8"><style type = "text/css">#div1{width:200px;height:50px;background-color:greenyellow;/* 绝对定位 */position:absolute;left:100px;top:100px;}#div2{width:200px;height:50px;background-color:pink;/* 相对定位 */position:relative;float:left;margin-left:20px;}#div3{height:50px;background-color:purple;}#div4{height:200px;height:50px;background-color:aqua;float:left;}#div5{ height:200px;height:50px;background-color:olivedrab;float:left;}div{position:relative;}/* 8像素问题 */body{margin:0;padding:0;}</style></head><body><!--<div id = "div1"> </div><div id = "div2"> </div>--><div id = "div3"><div id = "div4"> </div><div id = "div5"> </div></div></body>
</html><!--
position:absolute绝对定位,需要配合使用left right toprelative:相对定位,一般会和float,margin,padding一起使用float-->
样式展示:
页面布局
<html><head><meta charset = "UTF-8"><style type = "text/css">div{position:relative;}#div_top{background-color:orange;height:20%;}#div_left{background-color:greenyellow;height:80%;width:15%;float:left;}#div_main{background-color:whitesmoke;height:70%;float:left;width:85%;}#div_bottom{background-color:blue;height:10%;width:85%;float:left;}#div_container{height:100%;width:80%;border:1px solid blue;margin-left:10%;float:left;}body{margin:0;padding:0;background-color:gray;}</style></head><body><div id = "div_container"><div id = "div_top">div_top</div><div id = "div_left">div_left</div><div id = "div_main">div_main</div><div id = "div_bottom">div_bottom</div></div></body>
</html><!--
position:absolute绝对定位,需要配合使用left right toprelative:相对定位,一般会和float,margin,padding一起使用float-->
水果库存界面绘制
界面布局
<html><head><meta charset = "UTF-8"><link rel = "stylesheet" href = "style/fruit.css"></link></head><body><div id = "div_container"><div id ="div_fruit_list"><table id = "table_fruit"><tr><th class = "w20">名称</th><th class = "w20">单价</th><th class = "w20">数量</th><th class = "w20">小计</th><th class = "w20">操作</th> </tr><tr><td>苹果</td><td>5</td><td>20</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>西瓜</td><td>3</td><td>20</td><td>60</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>葡萄</td><td>4</td><td>25</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>香蕉</td><td>3</td><td>50</td><td>150</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>总计</td> <td colspan = "4">999</td></tr></table></div></div></body>
</html><!--
position:absolute绝对定位,需要配合使用left right toprelative:相对定位,一般会和float,margin,padding一起使用float-->
style文件
<style type = "text/css">div{position:relative;float:left;}#div_container{height:100%;width:80%;border:0px solid blue;margin-left:10%;background-color:honeydew;float:left;border-radius:8px;}#table_fruit{width:60%;/* 边框合并 */border-collapse:collapse;line-height:28px;margin-top:120px;margin-left:20%;}#table_fruit tr,#table_fruit td,#table_fruit th{border:1px solid gray;/* 边框合并 */border-collapse:collapse;text-align:center;font-size:16px;font-family:"黑体";color:"black";}/* 表头字体大一号 */#table_fruit th{font-size:20px;}/* 表格每一列占比设置 */.w20{width:20%;}/* 删除图标样式设置 */.delImg{width:24px;height:24px;margin-top:5px;}body{margin:0;padding:0;background-color:gray;}</style>
界面样式
javascript
数据类型
<html><head></head><meta charset = "UTF-8"><script language = "javascript">//String str = "hello wordl";var str = "hello world";/*alert(typeof str);str = 999;alert(typeof str);*//*var person = new Object();person.pid = "p001";person.pname = "达摩";alert(person.pid + " "+ person.pname);*/function hello(num1, num2, name){if(num1 > num2){return "hello" + name;}else{alert("Hello");}}hello(2,1,"大哥");</script><body></body>
</html>
<!--
JavaScript:客户端的一个脚本语言
js是一门弱类型的语言 变量数据类型由后面赋值的类型决定-->
续写水果库存
<html><head><meta charset = "UTF-8"><link rel = "stylesheet" href = "style/fruit.css"></link><script type = "text/javaScript" src = "js/demo01.js"></script></head><body><div id = "div_container"><div id ="div_fruit_list"><table id = "table_fruit"><tr><th class = "w20">名称</th><th class = "w20">单价</th><th class = "w20">数量</th><th class = "w20">小计</th><th class = "w20">操作</th> </tr><tr onmousemove = "showBGColor()" onmouseout = "clearBGColor()"><td>苹果</td><td onmouseover = "showHand()">5</td><td>20</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr onmousemove = "showBGColor()" onmouseout = "clearBGColor()"><td>西瓜</td><td onmouseover = "showHand()">3</td><td>20</td><td>60</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr onmousemove = "showBGColor()" onmouseout = "clearBGColor()"><td>葡萄</td><td onmouseover = "showHand()">4</td><td>25</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr onmousemove = "showBGColor()" onmouseout = "clearBGColor()"><td>香蕉</td><td onmouseover = "showHand()">3</td><td>50</td><td>150</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>总计</td> <td colspan = "4">999</td></tr></table></div></div></body>
</html><!--
position:absolute绝对定位,需要配合使用left right toprelative:相对定位,一般会和float,margin,padding一起使用float-->
js事件
// 显示鼠标悬浮时,显示背景颜色
function showBGColor(){// event : 当前发生的事件// event.srcElement事件源//alert(event.srcElement);//alert(event.srcElement.tagName); -->TDif(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;// td.parentElement表示td的复元素TRvar tr = td.parentElement;// 如果想要设置某节点的样式,需要加上.styletr.style.backgroundColor = "navy";// 表示获取tr中的每个单元格var tds = tr.cells;for(var i = 0; i < tds.length; i++){tds[i].style.color = "yellow";}}
}// 鼠标离开时,恢复原始样式
function clearBGColor(){if(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;var tr = td.parentElement;tr.style.backgroundColor="transparent";var tds = tr.cells;for(var i = 0; i < tds.length; i++){tds[i].style.color = "black";}}}// 当鼠标悬浮在单价单元格的时候,鼠标变成手势
function showHand(){if(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;td.style.cursor = "hand";}}
界面展示
水果库存添加事件[课后作业]
主界面
<html><head><meta charset = "UTF-8"><link rel = "stylesheet" href = "style/fruitdemo03.css"></link><script type = "text/javaScript" src = "js/demo03.js"></script></head><body><div id = "div_container"><div id ="div_fruit_list"><table id = "table_fruit"><tr><th class = "w20">名称</th><th class = "w20">单价</th><th class = "w20">数量</th><th class = "w20">小计</th><th class = "w20">操作</th> </tr><tr><td>苹果</td><td>5</td><td>20</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>西瓜</td><td>3</td><td>20</td><td>60</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>葡萄</td><td>4</td><td>25</td><td>100</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>香蕉</td><td>3</td><td>50</td><td>150</td><td><img src = "imgs/del.jpeg" class = "delImg"> </img></td> </tr><tr><td>总计</td> <td colspan = "4">999</td></tr></table><!-- <hr/>是直线 --><!--<hr/>--><div id = "div_add_fruit"><table id = "table_add_fruit"><tr><td>名称</td><td><input type = "text" id = "fname"></input></td></tr><tr><td>单价</td><td><input type = "text" id = "fprice"></input></td></tr><tr><td>数量</td><td><input type = "text" id = "fcout"></input></td></tr><!--<tr><td>小计</td><td><input type = "text" id = "fxj"></input></td></tr>--><tr><th><input type = "button" id = "addBtn" value = "添加" class = "btn_add"></input></th><th><input type = "button" id = "resetBtn" value = "重置" class = "btn_reset"></input></th></tr></table></div></div></div></body>
</html><!--
position:absolute绝对定位,需要配合使用left right toprelative:相对定位,一般会和float,margin,padding一起使用float-->
事件
// window当前对象
window.onload=function(){// alert("helloworld");// 更新总价updateZJ();// 当页面加载完成,我们需要绑定各种事件// 根据id获取tablevar fruitTbl = document.getElementById("table_fruit");// 获取表格中的所有的行var rows = fruitTbl.rows;for(var i = 1; i < rows.length - 1; i ++){var tr = rows[i];trBindEvent(tr);}// 调用鼠标单击事件,添加方法$("addBtn").onclick = btnAdd;// 调用鼠标单击事件,重置方法$("resetBtn").onclick = btnReset;}function trBindEvent(tr){// 1.绑定鼠标悬浮设置背景颜色事件tr.onmouseover = showBGColor;tr.onmouseout = clearBGColor;// 获取tr这一行的所有单元格var cells = tr.cells;var priceTD = cells[1];// 2.绑定鼠标悬浮在单元格变手势的事件priceTD.onmouseover = showHand;// 3.鼠标单击事件 更改价格priceTD.onclick = editPrice;// 7.绑定删除小图标的点击事件var img = cells[4].firstChild;if(img && img.tagName == "IMG"){// 点击后删除当前行的水果信息img.onclick = delFruit;}
}// 显示鼠标悬浮时,显示背景颜色
function showBGColor(){// event : 当前发生的事件// event.srcElement事件源//alert(event.srcElement);//alert(event.srcElement.tagName); -->TDif(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;// td.parentElement表示td的复元素TRvar tr = td.parentElement;// 如果想要设置某节点的样式,需要加上.styletr.style.backgroundColor = "navy";// 表示获取tr中的每个单元格var tds = tr.cells;for(var i = 0; i < tds.length; i++){tds[i].style.color = "yellow";}}
}// 鼠标离开时,恢复原始样式
function clearBGColor(){if(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;var tr = td.parentElement;tr.style.backgroundColor="transparent";var tds = tr.cells;for(var i = 0; i < tds.length; i++){tds[i].style.color = "black";}}}// 当鼠标悬浮在单价单元格的时候,鼠标变成手势
function showHand(){if(event && event.srcElement && event.srcElement.tagName == "TD"){var td = event.srcElement;td.style.cursor = "hand";}}// 当鼠标单击单价的时候,更改单价
function editPrice(){if(event && event.srcElement && event.srcElement.tagName == "TD"){var priceTD = event.srcElement;// 目的是判断当前priceTD有子节点,并且第一个子节点是文本节点,TextNode(文本节点) 3 ElementNode(元素节点)1if(priceTD.firstChild && priceTD.firstChild.nodeType == "3"){// 文本结点// 表示设置或者获取当前节点的内部文本var oldPrice = priceTD.innerText;// innerHTML 表示设置当前节点内部的HTMLpriceTD.innerHTML = "<input type = 'text' size = '4'/>";var input = priceTD.firstChild;if(input.tagName == "INPUT" ){input.value = oldPrice;// 选中输入框内部的文本input.select();// 4.绑定输入框失焦后,更新单价和总结input.onblur = updatePrice;// 8.绑定键盘按下的事件,此处需要保证按下的是数字input.onkeydown = checkInput;}}}
}function updatePrice(){if(event && event.srcElement && event.srcElement.tagName == "INPUT"){var input = event.srcElement;var newPrice = input.value;// input结点的父结点是tdvar priceTD = input.parentElement;priceTD.innerText = newPrice;//priceTD.parentElement是tr// 5.更新当前行的小计updateXj(priceTD.parentElement);}
}
// 更新当前行的小计
function updateXj(tr){if(tr && tr.cells){var tds = tr.cells;// 单价var priceTD = tds[1].innerText;// 数量var numsTD = tds[2].innerText;// innerText获取到的值是字符串类型,需要parseInt转换成数字类型var xj = parseInt(priceTD) * parseInt(numsTD);tds[3].innerText = xj;//6.更新总计updateZJ();}}// 更新总计
function updateZJ(){var fruitTable = document.getElementById("table_fruit");var rows = fruitTable.rows;var sum = 0;for(var i = 1; i < rows.length - 1; i ++){var tr = rows[i];var xj = parseInt(tr.cells[3].innerText);sum = sum + xj;}rows[rows.length - 1].cells[1].innerText = parseInt(sum);// NAN not a number表示结果不是一个数字}
// 删除当前所选行的库存
function delFruit(){if(event && event.srcElement && event.srcElement.tagName == "IMG"){// confirm表示对话框:确定/取消,点击确定返回trueif(confirm("是否要删除当前行的库存记录?")){var img = event.srcElement;var tr = img.parentElement.parentElement;var fruitTable = document.getElementById("table_fruit");fruitTable.deleteRow(tr.rowIndex);updateZJ();}}
}// 检验键盘按下的值的方法
function checkInput(){var kc = event.keyCode;console.log(kc);// 数字(0 ~ 9) 对应ascii码 48~57// backspace 对应ascii码值 8// 回车 对应ascii码值 13// 不符合的情况if(!((kc >= 8 && kc <= 57) || kc == 8 || kc == 13)){event.returnValue = false;}if (kc == 13){event.srcElement.blur();}}// 添加按钮
function btnAdd(){var fruitaddTable = $("table_add_fruit");var rows = fruitaddTable.rows;var fname = $("fname").value;if(fname == null || "" == fname){alert("名称为空,请输入后添加");return;}var fprice = $("fprice").value;if(fprice == null || "" == fprice){alert("单价为空,请输入后添加");return;}var fcout = $("fcout").value;if(fcout == null || "" == fcout){alert("数量为空,请输入后添加");return;}var table_fruit = $("table_fruit");var tr = table_fruit.insertRow(rows.length + 1);var fnameTD = tr.insertCell();fnameTD.innerText = fname;var fpriceTD = tr.insertCell();fpriceTD.innerText = parseInt(fprice);var fcoutTD = tr.insertCell();fcoutTD.innerText = parseInt(fcout);var xjTD = tr.insertCell();xjTD.innerText = parseInt(fprice * fcout);var delTD = tr.insertCell();delTD.innerHTML = "<img src = 'imgs/del.jpeg' class = 'delImg'/>";updateZJ();trBindEvent(tr);}function $(id){return document.getElementById(id);
}// 鼠标单击后重置
function btnReset(){$("fname").value = "";$("fprice").value = "";$("fcout").value = "";
}
样式
<style type = "text/css">div{position:relative;float:left;}#div_container{height:100%;width:80%;border:0px solid blue;margin-left:10%;background-color:honeydew;float:left;border-radius:8px;}#table_fruit{width:60%;/* 边框合并 */border-collapse:collapse;line-height:28px;margin-top:120px;margin-left:20%;}#table_fruit tr,#table_fruit td,#table_fruit th{border:1px solid gray;/* 边框合并 */border-collapse:collapse;text-align:center;font-size:16px;font-family:"黑体";color:"black";}/* 表头字体大一号 */#table_fruit th{font-size:20px;}/* 表格每一列占比设置 */.w20{width:20%;}/* 删除图标样式设置 */.delImg{width:24px;height:24px;margin-top:5px;}body{margin:0;padding:0;background-color:gray;}#table_add_fruit,#table_add_fruit td{border:1px solid gray;border-collapse:collapse;text-align:center;width:60%;line-height:28px;margin-top:30px;margin-left:20%;}#table_add_fruit th{text-align:center;line-height:100px;}.btn_add{width:60px;}.btn_reset{width:60px;}</style>
界面展示
总结
1.CSS
(1)CSS的角色:页面显示的美观风格
(2)CSS的基本语法:标签样式:类样式:ID样式;组合样式;嵌入式样式表;内部样式表;外部样式表
(3)盒子模型 border margin padding
(4)定位和浮动 positon float div + css布局
2.JS
(1)JS是客户端(浏览器端)运行的脚本语言,语法风格和java比较类似
(2)JS是弱类型的语言 var 后面的数据类型是根据后面的值来确定的
(3)JS支持面向对象 new可以创建对象
(4)JS的函数 function hello(){}
(5)DOM技术:鼠标悬浮 onmouseover,event.srcElement,事件传递,parentElement,style.backgroundColor
鼠标离开 ommouseout
鼠标点击 onclick, td.innerText,td.innerHTML = “” td.firstChild.value = oldPrice
失去焦点 onblur, input.parentElement.innerText = newPrice
更新小计:input = event.srcElement,tr = input.parentElement; tr.cells;parseInt
更新总计:document.getElementById(“fruit_table”);fruitTable.rows
删除一行:img,img.parentElement.parentElement.rowIndex,table.deleteRow(rowIndex)
Java web 2022跟学尚硅谷(一) 前端基础相关推荐
- Java web 2022跟学尚硅谷(十) 后端基础 书城
Java web 2022跟学尚硅谷十 后端基础 书城 验证码kaptcha和缓存cookie 简单了解cookie 步骤 简单创建cookie的样例 代码 CookieServlet01 hello ...
- Java web 2022跟学尚硅谷书城项目完整开源分享
Java web 2022跟学尚硅谷书城项目完整开源分享 项目介绍 项目类图 sql建表和添加数据 界面展示 用户登录界面 用户注册界面 首页 添加购物车 我的购物车 我的订单 功能说明 项目介绍 跟 ...
- 尚硅谷h5前端开发视频
尚硅谷h5前端开发视频 尚硅谷h5前端开发视频 尚硅谷h5前端开发视频 下载地址:百度网盘
- (Java高级教程)第四章必备前端基础知识-第二节1:CSS概述和选择器
文章目录 一:CSS概述 (1)概述 (2)语法规范 (3)CSS引入方式 二:选择器 (1)基础选择器 ①:标签选择器 ②:类选择器 ③:id选择器 ④:通配符选择器 总结 (2)复合选择器 ①:后 ...
- java培训班教程视频最新尚硅谷Java培训全套教程
尚硅谷Bank项目–0 5.尚硅谷全套JAVA教程–面试阶段–0 4.尚硅谷全套JAVA教程–JavaEE阶段–0 3.尚硅谷全套JAVA教程–JavaWEB阶段–0 2.尚硅谷全套JAVA教 ...
- 学java web需要学php吗_学JAVA WEB要先学什么
最近许多刚刚初学Java Web开发的童鞋问小编为神马要学这么多东东,我们有必要来从更高层次看看我们所学的东西都是干什么的,所以今天讲讲开始学习Java Web开发之前你需要了解的知识. 互联网简介在 ...
- 学习java web感想_学了近一个月的java web 感想
对于每天学习的新知识进行一定的总结,是有必要的. 之前我学的每一门知识,我都没有怎么总结自己的问题,也没有怎么去想想该怎样才能学的更好,把知识掌握的更牢固.从现在开始呢,我会每半个月,或每一个月总结总 ...
- 《Java Web开发速学宝典》样章(共3章)
下载地址: 第4章 Servlet开发基础 第8章 Java Web国际化 第10章 简单标签 李宁编著 博客:http://nokiaguy.blogjava.net 本书源代码:http://ww ...
- 【视频分享】尚硅谷HTML5前端视频_Vue核心技术视频
本视频基于Vue2.5录制, 涵盖Vue开发所需技术: 模板.数据绑定.声明式渲染.计算属性.事件处理.过渡动画.指令.自定义Vue插件.组件化开发.组件间通信.Ajax前后台交互.Vue-Route ...
最新文章
- request.getRequestDispatcher()的两个方法forward()/include()!!!
- idea2020shezhi代码检查级别_优秀的模糊测试代码是如何炼成的?
- Spring MVC中jsessionid所引起的问题 和解决
- 使用shell脚本对Linux系统和进程资源进行监控
- 令人失望的IE7Beta,仍然不支持Web标准。
- 猪场管理网站php,某养猪场网站整站 v1.1
- 【昇腾学院】昇腾AI处理器软件栈--框架管理器(Framework)离线模型生成
- tomcat内存优化
- 5.2.1 标准原子类型
- win7欢迎界面时间长_win7系统msvcr100.dll丢失如何解决msvcr100.dll丢失解决方法【详解】...
- Go框架,库和软件的精选列表
- 科比生涯数据分析——利用随机森林进行分类
- 国有资产管理系统web
- flask中的jinjia2模板引擎详解1
- ubuntu /home/路径下.cache下清理
- 手机上最好用的五笔输入法_这款APP可以用电脑输入法为手机打字,真的很方便!...
- Flutter Package 开发、发布、使用
- 打2把王者荣耀的时间,学会JAVA自制验证码图片
- 我的世界服务器连接协议,go-mc: Minecraft(我的世界)各种协议的Go实现
- 计算机内存读取写入原理是什么
热门文章
- linux蓝牙适配器--驱动安装
- Spring Cloud、Spring Cloud Alibaba、Spring Boot版本对应关系
- 记一个打包出现错误Multiple chunks emit assets to the same filename js/chunk-0.js(chunks chunk-0 and chunk-0)
- 外贸电商: 墨西哥本地支付OXXO
- 选择排序法——超详细的总结
- 分享几个个人觉得挺漂亮的导航
- 打电话给你,为什么不接?
- Android触控手感没有苹果好,硬核科普:为什么iPhone玩游戏的手感比大部分安卓都强?...
- python相关的一些坑
- 美团滴滴掐架告一段落,乐语却在新零售“跨界”上立了个旗帜