WEB01_Day04(上)-学子商城整合、JavaScript

一、学子商城整合

1.1 分析:

1.2 代码书写:

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>学子商城整合案例</title>
     <style type="text/css">
         body {
             /* 字体颜色 */
             color: #666;
             /* 字体设置 */
             font: 12px "simhei", Arial, Helvetica, sans-serif;
             /* 背景颜色 */
             background-color: #f5f5f5;
        }
 
         /* 对父级div进行宽度、外边距的样式进行设置 */
         #web {
             width: 1000px;
             margin: 0 auto;
             /* */
             /* 解决浮动定位对父级div高度的影响 */
             overflow: hidden;
        }
 
         #web>div {
             margin-bottom: 5px;
             /* 解决对子元素设置外边距的粘连问题 */
             overflow: hidden;
        }
 
         /* 对左上元素设置样式 */
         #container {
             width: 611px;
             height: 376px;
             background-color: #e8e8e8;
             /* 背景图片 */
             background-image: url("http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img1.png");
             /* 图片去除重复显示 */
             background-repeat: no-repeat;
             /* 设置背景图片的位置 */
             background-position: 90% 70%;
             background-size: 318px 319px;
             /* 解决外边距粘连问题 */
             overflow: hidden;
 
             /* 设置该元素左浮动 */
             float: left;
        }
 
         #container>div {
             width: 245px;
             height: 232px;
             /* */
             margin: 68px 0 0 36px;
        }
 
         #container .p1 {
             font-size: 32px;
             color: #333;
        }
         #container .p3 {
             font-size: 24px;
             color: #0aa1ed;
             font-weight: bold;
             margin-bottom: 12px;
        }
         #container input {
             width: 133px;
             height: 40px;
             color: #fff;
             background-color: #0aa1ed;
             font-size: 20px;
             border: 0;
             /* 设置圆角 */
             border-radius: 3px;
             /* 设置指针样式 */
             cursor: pointer;
        }
 
 
         /* 对右上元素设置样式 */
         #con {
             width: 375px;
             height: 376px;
             background-color: #e8e8e8;
             background-image: url("http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img2.png");
             background-repeat: no-repeat;
             background-size: 286px 248px;
             background-position: 80% 90%;
             overflow: hidden;
 
              /* 设置该元素右浮动 */
              float: right;
        }
         #con>div {
             width: 253px;
             height: 233px;
             /* */
             margin: 38px 0 0 25px;
        }
 
         #con .p1 {
            font-size: 32px;
            color: #333;
            margin-bottom: 12px;
        }
 
         #con .p3 {
             font-size: 24px;
             color: #0aa1ed;
             /* 设置和按钮的外边距 */
             margin-bottom: 12px;
        }
 
         #con a {
             width: 132px;
             height: 40px;
             background-color:#0aa1ed ;
             border: 0;
             color: #fff;
             /* a标签是一个行内元素,需要变成块级元素才能设置宽和高 */
             display: block;
             font-size: 20px;
             text-decoration: none;
             text-align: center;
             border-radius: 3px;
             /* 行高 */
             line-height: 40px;
        }
 
 
 
         /* 对左下元素设置样式 */
         #left_bottom {
             width: 366px;
             height: 233px;
 
             background-color: #e8e8e8;
             /* 设置该元素左浮动 */
             float: left;
 
        }
         #head_div {
             width: 366px;
             height: 35px;
             background-color: #0aa1ed;
             border-radius: 2px;
        }
         #head_div>img {
             margin: 8px 0 0 10px;
        }
         #head_div>span {
             color: #fff;
             font-size: 16px;
             /* 以自身为基准进行相对定位,产生微小偏移量,不脱离文档流 */
             position: relative;
             top: -4px;
        }
         #left_bottom>.c {
             padding-left: 15px;
        }
         #left_bottom>.c>ul {
             list-style: none;
             padding: 0;
             /* 取消ul内边距 */
             overflow: hidden;
        }
         #left_bottom>.c>ul>li {
             float: left;
             margin-right: 10px;
             margin-bottom: 10px;
        }
         #left_bottom>.c>p {
             color: #62B5EC;
        }
         #left_bottom>.c a {
             text-decoration: none;
             color:#0aa1ed;
        }
 
         /* 对右下元素设置样式 */
         .right_bottom {
             width: 198px;
             height: 233px;
             background-color: #e8e8e8; 
           margin-left: 5px; 
           text-align: center; 
           /* 设置该元素右浮动 */ 
           float: right; 
      } 
       .right_bottom>.p1 { 
           color: #000; 
           margin: 0 0 6px 0; 
      } 
       .right_bottom>.p2 { 
           color: #0aa1ed; 
           font-weight: bold; 
           margin: 6px 0; 
      } 
       .right_bottom>a { 
           width: 100px; 
           height: 25px; 
           /* a标签是行内元素不能设置宽高,需要显示方式换为行内块 */ 
           display: inline-block; 
           background-color:#0aa1ed; 
           color: #fff; 
           text-decoration: none; 
           line-height: 25px; 
           border-radius: 2px; 
      } 
​ 
   </style
​ 
</head
<body
   <!-- 所有div元素的父级div --> 
   <div id="web"
       <!-- 上级div子元素 --> 
       <div
           <!-- 左上灵越燃7000系列开始 --> 
           <div id="container"
               <div
                   <p class="p1">灵越 燃7000系列</p
                   <p class="p2"
                      酷睿双核i5处理器|256GB SSD| 8GB内存<br
                      英特尔HD显卡620含共享显卡内存 
                   </p
                   <p class="p3">¥4999.00</p
                   <input type="button" value="查看详情"
               </div
           </div
           <!-- 左上灵越燃7000系列结束 --> 
​ 
           <!-- 颜值框不住开始 --> 
           <div id="con"
               <div
                   <p class="p1">颜值 框不住</p
                   <p class="p2"
                      酷睿双核i5处理器|256GB SSD| 8GB内存<br
                      英特尔HD显卡620含共享显卡内存 
                   </p
                   <p class="p3">¥6888.00</p
                   <a href="">查看详情</a
               </div
           </div
           <!-- 颜值框不住结束 --> 
​ 
       </div
​ 
       <!-- 下级div子元素 --> 
       <div
           <!-- 左下电脑/办公开始 --> 
           <div id="left_bottom"
               <div id="head_div"
                   <img src="http://doc.canglaoshi.org/tstore_v1/images/itemCat/computer_icon1.png"
                   <span>电脑,办公/1F</span
               </div
               <div class="c"
                   <p>电脑整机</p
                   <ul
                       <li><a href="#">笔记本</a></li
                       <li><a href="#">游戏机</a></li
                       <li><a href="#">台式机</a></li
                       <li><a href="#">一体机</a></li
                       <li><a href="#">服务器</a></li
                       <li><a href="#">联想</a></li
                   </ul
               </div
               <div class="c"
                   <p>电脑配件</p
                   <ul
                       <li><a href="#">CPU</a></li
                       <li><a href="#">SSD硬盘</a></li
                       <li><a href="#">显示器</a></li
                       <li><a href="#">显卡</a></li
                       <li><a href="#">组装电脑</a></li
                       <li><a href="#">机箱</a></li>      
                   </ul
               </div
               <div class="c"
                   <p>外设/游戏</p
                   <ul
                       <li><a href="#">键盘</a></li
                       <li><a href="#">鼠标</a></li
                       <li><a href="#">U盘</a></li
                       <li><a href="#">移动硬盘</a></li
                       <li><a href="#">游戏设备</a></li
                       <li><a href="#">智能单车</a></li>      
                   </ul
               </div>     
           </div
           <!-- 左下电脑/办公结束 --> 
            
           <!-- 右下普通电脑开始 --> 
           <div class="right_bottom"
               <img src="http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img3.png"
               <p class="p1">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p
               <p class="p2">¥4600.00</p
               <a href="#">查看详情</a
           </div
           <div class="right_bottom"
               <img src="http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img3.png"
               <p class="p1">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p
               <p class="p2">¥4600.00</p
               <a href="#">查看详情</a
           </div
           <div class="right_bottom"
               <img src="http://doc.canglaoshi.org/tstore_v1/images/itemCat/study_computer_img3.png"
               <p class="p1">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p
               <p class="p2">¥4600.00</p
               <a href="#">查看详情</a
           </div
           <!-- 右下普通电脑结束 --> 
       </div
​ 
   </div
</body
</html>

1.3 运行效果:

 二、JavaScript

2.1 定义:

  JavaScript简称(JS),当前它是一个脚本语言,负责给前端页面添加动态效果。

2.2 特征:

  • 弱类型语言,声明变量不需要指定对应的数据类型

  • 脚本语言,不需要像Java代码一样编译,通过浏览器进行解析执行

  • 交互性强,可以单独理解成它是一个语言,可以嵌套在html中进行使用

  • 面向对象编程的语言,和Java中的面向对象编程思想相似

  • 安全性高,JavaScript语言只能访问浏览器内部的数据,而外部的数据,像磁盘中的数据内容无法访问

2.3 网站排行

https://www.tiobe.com/tiobe-index/

面试题(笔试):

Thread类yield()方法的作用是什么?

  yield()方法可以暂停当前正在执行的线程对象,会进行让出当前的CPU时间片资源,同时也会让具有相同优先级的线程对象进行执行对应的任务序列。该方法是一个静态方法,需要通过类名进行调用。只能保证当前线程放弃CPU时间片资源的使用,但是不能保证其他线程一定能够获取CPU时间片资源,执行yield()方法的线程进入对应的暂停状态(阻塞状态)然后会可能立即又进行执行该线程的任务序列。

 package cn.tedu.thread02;
 /**
  * 使用同步方法解决线程并发安全问题案例
  * @author Tedu
  *
  */
 public class SyncDemo01 {
  public static void main(String[] args) {
  Shop shop = new Shop();
  Thread thread1 = new Thread() {
  @Override
  public void run() {
  //调用yield方法,主动放弃CPU时间片资源,模拟线程间的切换
                 //放弃CPU时间片资源以后会回归到Runnable状态,等待操作系统分配CPU时间片资源
  Thread.yield();
  shop.buy();
 
 
  }
  };
 
  Thread thread2 = new Thread() {
  @Override
  public void run() {
  shop.buy();
  }
  };
 
  thread1.setName("孟滕滕");
  thread2.setName("苍老师");
  //启动线程
  thread1.start();
  thread2.start();
 
  }
 
 }
 
 /**
  * 外部购物类
  */
 class Shop {
  /*
  * 同步方法
  * 使用同步方法可以解决线程同步并发安全问题,相当于一个人来到店铺
  * 购物的时候时1v1服务,这个人进入店铺以后,店铺就不再对其他顾客进行服务了,
  * 只服务当前这1位顾客,虽然可以解决线程同步并发安全问题,但是程序执行的
  * 性能较慢
  */
  public synchronized void buy() {
  try {
  Thread thread = Thread.currentThread();
  System.out.println(thread.getName() + ":正在挑选衣服......");
  Thread.sleep(2000);
  System.out.println(thread.getName() + ":正在试衣服......");
  Thread.sleep(2000);
  System.out.println(thread.getName() + ":离开试衣间,进行结账离开");
  } catch (InterruptedException e) {
  e.printStackTrace();
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
 }

 

posted @ 2021-08-12 23:04  Coder_Cui  阅读(127)  评论(0编辑  收藏  举报