JAVAWEB(上)

news2025/1/10 11:55:44

一、HTML和CSS

1.盒子

 2.表单

3.机器人回答:

3.1 label标签

<label>标签用于关联表单元素和文本标签,通过为表单元素定义文本标签,可以使表单更易于使用和访问。它的基本语法如下:
```
<label for="input_id">Input Label</label>
<input type="text" id="input_id" name="input_name">
```
在这个例子中,`for`属性用于指明该文本标签所对应的表单元素,`input_id`为对应表单元素的`id`属性值。

除了使用`for`属性,<label>元素还可以通过把包裹在<label>标签内的表单元素来隐式地与<label>元素进行关联。

举个例子,如下代码段将一个简单的表单元素输入框与一个文本标签进行关联:
```
<label>Enter your name:
  <input type="text" name="your_name">
</label>
```
在上述例子中,文本标签“Enter your name:”与输入框进行了关联。当用户点击该标签时,浏览器就会将焦点设置到该表单元素上,方便用户的输入。

<label>标签还可以嵌套在其他标签中,从而形成更加复杂的表单元素。例如,可以将复选框或单选按钮与文本标签进行组合,如下所示:
```
<label><input type="checkbox" name="fruit" value="apple"> Apple</label>
<label><input type="checkbox" name="fruit" value="banana"> Banana</label>
```
在上述例子中,复选框元素与文本标签被包含在<label>标签内,当用户点击文本标签时,浏览器会自动切换复选框的选中状态。

总之,<label>标签可以方便地为表单元素添加文本标签,并提高表单的可访问性和易用性。

 二、javascript-VUE

1.

 

 

2.增强for循环

也可以使用forEach()

在JavaScript中,增强的for循环语法也被称作for...of语句,在ES6中引入,并且是用来遍历可迭代对象(例如数组、字符串、Set等)中的元素,它的语法如下:

```
for (let item of iterable) {
  // code block to be executed
}
```

其中,item是可迭代对象中的每个元素,iterable是要遍历的可迭代对象。在循环中,我们可以使用item访问每个元素并执行相应的操作,例如:

```
const fruits = ['apple', 'banana', 'cherry'];

for (let fruit of fruits) {
  console.log(fruit);
}
```

上述代码会输出:

```
apple
banana
cherry
```

除此之外,还有一种增强for循环的语法叫做for...in语句,它是用来遍历对象的,语法如下:

```
for (let key in object) {
  // code block to be executed
}
```

其中,key是每个属性的名称,object是要遍历的对象。使用for...in语句可以轻松访问对象的每个属性,并执行相应的操作,例如:

```
const person = { name: 'Alice', age: 25 };

for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}
```

上述代码会输出:

```
name: Alice
age: 25
```

3.数组

 4.字符串

 5.自定义对象

 6.DOM

注意不同方法返回的类型不同,ID返回单个,而其他返回一个数组。

而且你有没有发现:对于id是 getElement,对于其他是getElements 。id相应的方法的element是单数,其他是复数。

 7.事件绑定

 

 ①onclick 仅对 鼠标左键有效

②onmousedown 对鼠标的左右键以及鼠标滚轮的落下 都会进行记录。

③让机器人来回答一下:mousemove和mouseleave的区别

`mousemove`和`mouseleave`是常用于处理鼠标事件的两个事件。它们的区别如下:

`mousemove`事件在鼠标指针在元素内移动时触发,可以用来监听鼠标移动事件。当鼠标指针在元素内部移动时,会多次触发mousemove事件。根据事件对象可以获取鼠标当前的位置、移动距离等相关信息。例如,以下是一个使用mousemove事件实现鼠标跟随的例子:
```
const box = document.querySelector('.box');
document.addEventListener('mousemove', function(e) {
  const x = e.pageX - box.offsetWidth / 2;
  const y = e.pageY - box.offsetHeight / 2;
  box.style.transform = `translate3d(${x}px, ${y}px, 0)`;
});
```

`mouseleave`事件在鼠标从元素内移出时触发,可以用来监听鼠标移出事件。当鼠标移出绑定事件的元素区域时,触发mouseleave事件一次。根据事件对象可以获取鼠标移动的方向和位置等信息。例如,以下是一个使用mouseleave事件实现鼠标悬浮特效的例子:
```
const box = document.querySelector('.box');
box.addEventListener('mouseleave', function() {
  box.classList.remove('hover');
});
box.addEventListener('mouseenter', function() {
  box.classList.add('hover');
});
```

总之,`mousemove`和`mouseleave`事件是常用的鼠标事件,在鼠标交互方面提供了丰富的功能。需要根据具体的需求,选择合适的事件进行绑定和处理。

④实现一个元素跟随鼠标移动的效果 。

当然 translate(x,y) 与  translate3d(x,y,z) 的效果是一样的。

这是一个使用`mousemove`事件实现鼠标跟随的例子,可以将它分为三个部分:

1.获取鼠标位置信息:

```
const x = e.pageX - box.offsetWidth / 2;
const y = e.pageY - box.offsetHeight / 2;
```

这里利用了`event.pageX`和`event.pageY`这两个属性来获取事件发生时鼠标指针相对于文档坐标系的水平和垂直坐标,即鼠标的位置。此外还使用了`box.offsetWidth`和`box.offsetHeight` 分别获取元素的宽度和高度,这里的/2是用来使跟随位置为鼠标指针的中心点。

2.设置元素跟随鼠标移动:

```
box.style.transform = `translate3d(${x}px, ${y}px, 0)`;
```

这里使用了CSS3的`translate3d`属性来实现元素的平移效果,将元素沿着x轴和y轴分别移动x和y个像素。再加上之前获取的鼠标位置信息,就完成了元素跟随鼠标移动的功能。


3.完整代码:
```
const box = document.querySelector('.box');
document.addEventListener('mousemove', function(e) {
  const x = e.pageX - box.offsetWidth / 2;
  const y = e.pageY - box.offsetHeight / 2;
  box.style.transform = `translate3d(${x}px, ${y}px, 0)`;
});
```

总之,该代码的目的是实现鼠标移动时某个元素跟随鼠标移动的效果。如果你有任何疑问,可以随时继续提问。

8.VUE

 我创建时遇到问题:

①没有把vue.js文件 引入到 与 html文件 同级

②new Vue(){} 中的method属性 :对象,即把多个方法写在对象里。

③如下图,由于 el管理的是一个 区域,我应该用闭合的标签,div之类的。

 正确如下;

9.Vue常用指令

 

 注意 双向绑定 是 在 表单标签 上的

 9.1 v-on 指令

注意:methods里是对象,有key和value

9.2 v-if 和 v-show

  它俩都能将不满足条件的元素消失,但是  消失的方式不一样。

9.3 v-for

变量名 与 索引变量之间记得 加 逗号(,)

突然发现,它必须 循环根元素 下的元素才行,不能直接循环根元素。

9.9 简写汇总

①v- bind的简写

②v-on的简写

10.生命周期

 

 

三.AJAX,ELEMENTUI,VUE

1.Ajax

 

 

 2.Axios

注意传递的是 匿名函数 。(以箭头函数匿名函数的形式都可以)

 下图来自官网。

3.做axios案例时的失误

①如下图,我定义的函数不应该放到上面,应该放到new Vue({})里面的methods属性中,that's crazy.

 ②你以为上面没错了? 其实还有很多错误。

当使用方法时要用 this.getData() 这样才能调用 methods属性里 的方法,this是如此的重要。

③使用v-for循环遍历时,记得 把不能使用插值表达式 的标签  使用 v-bind:属性绑定。

<!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>axios案例</title>
    <script src="vue.js"></script>
    <script src="axios-0.18.0.js"></script>
  </head>
  <body>
    <table id="app" border="1" cellspacing="0" width="60%">
      <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>图像</th>
        <th>性别</th>
        <th>职位</th>
        <th>入职日期</th>
        <th>最后操作时间</th>
      </tr>
      <tr align="center" v-for="(user,index) in users">
        <td>{{index}}</td>
        <td>{{user.name}}</td>
        <td>
          <!-- 记得使用v-bind:绑定src属性 -->
          <img v-bind:src="user.image" width="70px" height="50px" />
        </td>
        <td>
          <span v-if="user.gender==1">男</span>
          <span v-if="user.gender==2">女</span>
        </td>
        <td>{{user.job}}</td>
        <td>{{user.entrydate}}</td>
        <td>{{user.updatetime}}</td>
      </tr>
    </table>
  </body>
  <script>
    new Vue({
      el: "#app",
      data: { users: {} },
      methods: {
        getData() {
          axios
            .get("http://yapi.smart-xwork.cn/mock/169327/emp/list")
            .then((resp) => {
              console.log(resp.data.data);
              this.users = resp.data.data;
            });
        },
      },

      //返回的值以回调函数接收
      //挂载完成后
      mounted() {
        this.getData();
      },
    });
  </script>
</html>

4.前后端分离

这中间缺失的部分,看黑马文档吧,心累了,刚才没保存。

4.1Yapi

4.2 nodejs

4.3 vue-cli

5.创建VUE项目

5.3 vue项目目录结构

 

5.4初看vue目录结构的一些  疑惑

①<noscript></noscript>  为什么不显示?

 ② 下图右边两个卡片的代码 是 等价的 。

为什么 router后没有属性值,因为 这是ES6的增强型,对于 router:router,  可以简写为 router,

 

③我终于知道创建组件时data为什么是一个函数。

看下面这个vue的文档。

组件基础 — Vue.js

end:一些技巧

1.vscode   按  !加上 回车,得到html模版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode高频算法刷题记录9

文章目录 1. 二叉树的最大深度【简单】1.1 题目描述1.2 解题思路1.3 代码实现 2. 对称二叉树【简单】2.1 题目描述2.2 解题思路2.3 代码实现 3. 二叉树的直径【简单】3.1 题目描述3.2 解题思路3.3 代码实现 4. 验证二叉搜索树【中等】4.1 题目描述4.2 解题思路4.3 代码实现 5. …

基于51单片机的项目作品汇总

篇记录下自己做的项目作品&#xff0c;作品有实物也有仿真&#xff0c;以实物居多&#xff0c;主要是以单片机为主&#xff0c;单片机有HC32,STM32,STC,51等&#xff0c;本人从事单片机行业5年&#xff0c;拥有丰富的经验。也涉及QT&#xff0c;LVGL&#xff0c;嵌入式&#xf…

Java学习笔记20——常用API

常用API 常用APIMath类Math的常用方法 System类System类常用方法 Object类Object类常用方法 Arrays类Arrays常用方法 基本类型包装类Integer类的概述和使用int和String的相互转换自动装箱和拆箱 日期类Date类Date类的常用方法 SimpleDateFormat类SimpleDateFormat的构造方法Sim…

C++ priority_queue

C priority_queue &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容讲解了优先队列的对应接口的使用 文章目录…

APT(Advanced Persistent Threat高级持续性威胁)——网络安全

APT&#xff08;高级持续性威胁&#xff09; 特点攻击过程防御策略与APT相关的加密技术&#xff08;学习侧重&#xff09; 网络安全APT&#xff08;Advanced Persistent Threat高级持续性威胁&#xff09;是一种复杂的网络攻击&#xff0c;旨在长期潜伏在目标网络中&#xff0c…

【线程池】Java线程池的核心参数

目录 一、简介 二、构造方法 三、线程池的核心参数 3.1 corePoolSize 线程池核心线程大小 3.2 maximumPoolSize 线程池最大线程数量 3.3 keepAliveTime 空闲线程存活时间 3.4 unit 空间线程存活时间单位 3.5 workQueue 工作队列 ①ArrayBlockingQueue ②LinkedBlocki…

嵌入式Linux中pinctrl 子系统和 gpio 子系统分析

目录 1、gpio 子系统 API 2、pinctrl 子系统 API 本文讲解 pinctrl 子系统和 gpio 子系统的 API&#xff0c;以及使用示例。 传统的配置 pin 的方式就是直接操作相应的寄存器&#xff0c;但是这种配置方式比较繁琐、而且容易出问题(比如 pin 功能冲突)。pinctrl 子系统就是为…

Linux :: 【基础指令篇 :: 文件及目录操作:(2)】::Linux操作系统的文件“框架”、绝对路径与相对路径及路径定位文件对象的解释

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 本篇内容&am…

Linux常见IO模型

这篇博客开始我们Linux的最后一个章节--常见IO模型&#xff0c;在之前的博客当中我们讲述过Linux中基础的IO操作&#xff0c;欢迎大家去阅读。 我们通常指的IO操作便是数据的输入和输出&#xff0c;对应的具体操作过程我们可以将其分为两个步骤&#xff1a;等待IO就绪和数据拷…

Eclipse教程 Ⅵ

今天分享Eclipse Java 构建路径、Eclipse 运行配置(Run Configuration)和Eclipse 运行程序 Eclipse Java 构建路径 设置 Java 构建路径 Java构建路径用于在编译Java项目时找到依赖的类&#xff0c;包括以下几项&#xff1a; 源码包项目相关的 jar 包及类文件项目引用的的类…

postgresql 内核源码分析 语法解析 gram.y

专栏内容&#xff1a;postgresql内核源码分析个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e; 目录 前言 概述 流程简介 调用流程 语法解析详细分解 raw_parser的主流程 词法…

Wireshark使用手册

目录 前言 Wireshark不能做的 Wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wireshark 开始抓包 Wireshark 窗口介绍 Wireshark 显示过滤 保存过滤 过滤表达式的规则 封包列表(Packet List Pane) 封包详细信息 (Packet Details Pane) wireshark与…

【CVPR_2023论文精读】E4S: Fine-grained Face Swapping via Regional GAN Inversion

【CVPR_2023论文精读】E4S: Fine-grained Face Swapping via Regional GAN Inversion 0、前言Abstract1. Introduction2. Related Work2.1 GAN Inversion2.2 Face Swapping 3. Methodology3.1. Editing-for-Swapping (E4S) Framework3.1.1 Reenactment.3.1.2 Swapping and Gene…

学习:双重差分模型DIDPSM-基于Stata实现

双重差分模型 定义 双重差分法&#xff08;Difference in Differences&#xff09;: 通过利用观察学习的数据&#xff0c;计算自然实验中“实验组”与“对照组”在干预下增量的差距。 步骤&#xff1a; 分组&#xff1a;对于一个自然实验&#xff0c;其将全部的样本数据分为…

JMeter性能测试101:一步一步教你如何开始

1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言&#xff0c;JMeter小巧轻便且免费&#xff0c;逐渐成为了主流的性能测试工具&#xff0c;是每个测试人员都必须要掌握的工具之一。 2023年最新版Jmeter性能测试项目实战…

FFmpeg5.0源码阅读——mov文件格式解析

摘要&#xff1a;之前在Mp4格式详解中详细描述了Mp4文件格式的具体布局方式。为了更加深入理解mp4文件格式&#xff0c;本文记录了ffmpeg中解封装mp4文件的基本实现。关键字:mov、FFmpeg、mp4 1 简介 mp4文件格式是现如今网络上最常见的视频文件格式&#xff0c;其和mov等格式…

复合查询.

基本查询 查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还要满足他们的姓名首字母为大写的J select * from EMP where (sal>500 or jobMANAGER) and ename like J%;按照部门号升序而雇员的工资降序排序 select * from EMP order by deptno, sal desc;使用年薪进…

为建筑物的供暖系统实施MPC控制器的小型项目(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 路由控制

目录 一、概述二、路由表(Routing table)三、最长匹配、默认路由、特定主机路由四 、IP数据报路由过程五、路由聚合 一、概述 网际协议 IP 大致分为三大作用模块&#xff0c; ①IP寻址、 ②路由&#xff08;最终节点为止的转发&#xff09; 、③IP分包与组包。前面两篇文章讨论…

dpdk ip分片报文重组处理

dpdk ip报文重组及分片API及处理逻辑介绍 DPDK的分片和重组实现零拷贝&#xff0c;详细介绍可以参阅DPDK分片与重组用户手则 相关数据结构 /** Fragmented packet to reassemble.* First two entries in the frags[] array are for the last and first fragments.*/ struct …