14届蓝桥杯

1.电影院排座位

忘记如何用:nth-child()

css 复制代码
/* TODO:待补充代码 */
body {
  display: flex;
}
.seat-area {
  display: flex;
  /* 允许子元素换行 */
  flex-wrap: wrap;
  margin-top: 40px;
  width: 480px;
}
.seat {
  display: flex;
  margin-right: 10px;
  margin-top: 10px;
}
/* 选中其中8n-6的元素 */
.seat:nth-child(8n-6) {
  margin-right: 30px;
}
.seat:nth-child(8n-2) {
  margin-right: 30px;
}

2.图片水印生成

没有认真看,没看到要用<span>标签展示,以及对deg的不理解

javascript 复制代码
  // TODO: 根据输入参数创建文字水印
  // 用for循环生成需要数量的元素
  for (let i = 0; i < count; i++) {
    // 创建span元素
    const span = document.createElement("span")
    // 设置span的内容 颜色 旋转角度 透明度
    span.innerHTML = text
    span.style.color = color
    // transform: rotate():让元素绕中心旋转指定角度
    span.style.transform = `rotate(${deg}deg)`
    span.style.opacity = opacity
    // 把设置好的span元素,添加到父元素container
    container.appendChild(span)
  }
  return container;
}

3.收集帛书碎片

javascript 复制代码
function collectPuzzle(...puzzles) {
  // TODO:在这里写入具体的实现逻辑
  // 对所有的拼图进行收集,获取不同拼图类型的结果,并返回
  // 初始化一个空数组
  const list =[]
  // 遍历每个人的拼图数组
  puzzles.forEach(item => {
    // 遍历每人的每一片拼图数组
    item.forEach(itemx => {
      // 判断新数组是否包含这个元素
      // 没有包含这个元素
      if (!list.includes(itemx)) {
        // 往新数组添加这个元素
        list.push(itemx)
      }
      // 否则直接返回新数组
      else {
        return list
      } 
    })
  })
  // 最后返回最终结果的数组
  return list
}

4.自适应页面

css 复制代码
@media screen and (max-width:800px) {
  .menu {
    margin: 0;
  }
  label.menu-btn {
    display: block;
    color: #fff;
    height: 54px;
    margin-left: 20px;
    line-height: 54px;
  }
  .collapse {
    display: none;
    flex-direction: column;
    position: fixed;
    width: 100%; 
    background-color: #252525;
  }
  .menu li {
    display: flex;
    flex-direction: column;
  }
  .menu:hover .collapse {
    display: flex;
  }
  .dropdown:hover ul {
    display: contents;
  }
  .dropdown li {
    background-color: #fff;
  }
  #tutorials .row {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .row:nth-of-type(1) {
    margin-top: 45px;
  }
  .row {
    display: flex;
    flex-direction: column;
  }
}

5.全球新冠疫情数据统计

一直报错看不懂啊啊啊

javascript 复制代码
<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>全球新冠疫情数据统计</title>
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  <link rel="stylesheet" type="text/css" href="css/style.css" />
  <script src="js/axios.js"></script>
  <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
  <script src="js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
</head>

<body>
  <div id="app">
    <header>
      <div>
        全球新冠疫情数据统计
      </div>
    </header>
    <main>
      <!-- TODO: 请修改以下代码实现不同国家的数据展示功能 -->
      <div class="title">
        <h2>{{ conuntryName }}
        </h2>
      </div>
      <div class="boxes">
        <div class="box1">
          <h3>确诊</h3>
          <div class="number">
            <span class="font-bold">新增:{{ newConfirmed }}</span>
            
          </div>
          <div class="number">
            <span class="font-bold">总计: {{ TotalConfirmed }}</span>
            
          </div>
        </div>
        <div class="box2">
          <h3>死亡</h3>
          <div class="number">
            <span class="font-bold">新增:{{ newConfirmed }}</span>
            
          </div>
          <div class="number">
            <span class="font-bold">总计:{{ totalDeaths }}</span>
            
          </div>
        </div>
      </div>
      <select @change="ch" v-model="selCountry">
        <option value="">Select Country</option>
        <!-- 请在此渲染所有国家选项 -->
        <option :value="item" v-for="item in countryArray" :key="item">{{ item }}</option>
      </select>
      <div id="chart" style="width: 100%; height: 50vh;"></div>
    </main>
  </div>
</body>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
      covidDates:[],
      countryArray: [],
      conuntryName: '请选择国家',
      newConfirmed: 0,
      totalConfirmed: 0,
      newDeaths: 0,
      totalDeaths: 0,
      selCountry: "",
    },
    methods: {
      // TODO: 请修改该函数代码实现题目要求
      ch () {
        console.log("selCountry", this.selCountry)
        
        if(this.selCountry == '') {
          this.newConfirmed = 0
          this.totalConfirmed = 0
          this.newDeaths = 0
          this.totalDeaths = 0
          this.conuntryName = "请选择国家"
        } else {
          for (let item of this.covidDates) {
            if (item.Country === this.selCountry) {
              this.newConfirmed = item.NewConfirmed
              this.totalConfirmed = item.TotalConfirmed
              this.newDeaths = item.NewDeaths
              this.totalDeaths = item.TotalDeaths
              this.conuntryName = this.selCountry
            }
          }
        }
      },
      initChart() {
        const conuntryName =[]
        const totalConfirmed = []
        console.log("initChart covidDatas:", this.covidDates);
        for (let item of this.covidDates) {
          console.log("initChart item", item)
          conuntryNames.push(item.CountryCode)
          totalConfirmed.push(item.totalConfirmed)
        }
        // 初始化图表
        this.chart = echarts.init(document.getElementById("chart"));
        this.chartOptions = {
          title: {
            text: "全球感染人数前30国家累计确诊人数统计",
            x: 'center',
          },
        };
        // 调用此方法设置 echarts 数据
        this.chart.setOption(this.chartOptions);
      },
    },
    // TODO: 请在此添加代码实现组件加载时数据请求的功能
    mounted() {
      axios.get("./js/covid-data.json").then((res) => {
        console.log("data:", res.data)
        this.covidDates = res.data

        for (let item of res.data) {
          this.countryArray.push(item.Country)
        }
        this.initChart();
      })
    },
  });
</script>

</html>
相关推荐
装不满的克莱因瓶2 小时前
React Native vs Flutter:一次深入到底的性能对比分析(含原理 + 实战)
javascript·flutter·react native·react.js·app·移动端
gCode Teacher 格码致知3 小时前
Javascript及Python提高:将对象的键值对转换为数组元素的方式以及两种语言的对比-由Deepseek产生
javascript·python
Hello.Reader3 小时前
Spark Connect 快速入门远程连接 Spark 集群实战
javascript·ajax·spark
kyriewen113 小时前
为什么我的代码在测试环境跑得好好的,一到用户电脑就崩?原来凶手躲在地址栏旁边
开发语言·前端·javascript·chrome·ecmascript·html5
小北方城市网3 小时前
JavaScript 实战 —— 实现一个简易的 TodoList(适合前端入门 / 进阶)
开发语言·前端·javascript
是上好佳佳佳呀3 小时前
【前端(二)】CSS 知识梳理:从编写位置到选择器优先级
前端·css
清汤饺子4 小时前
Superpowers:给 AI 编程 Agent 装上"工程化超能力"
前端·javascript·后端
-Da-5 小时前
【操作系统学习日记】并发编程中的竞态条件与同步机制:互斥锁与信号量
java·服务器·javascript·数据库·系统架构
Irene19915 小时前
JavaScript脚本加载的两种方式:defer/async 的区别
前端·javascript·php