IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 移动互联网应用的阶段学习总结 -> 正文阅读

[游戏开发]移动互联网应用的阶段学习总结

目录

一、css动画

1.元素2D变换transform

2.过渡动画

3.animation动画

4.动画的暂停和播放

5、3D变换

6、属性选择器补充

7.伪类选择器的补充

8.渐变色

9.分栏布局

10.响应式布局

二、jquery

1.jquery使用的方法:

2.创建jquery对象

3.eq和get的用法

4.创建并插入元素

5.设置样式

6.设置类

7.设置属性

8.设置标签体

9.绑定事件

10.元素包裹

11.读取和设置元素大小和位置

12.其他API

三、canvas画布

1.canvas的基础用法

2.绘制矩形

3.绘制文本

4.画线

5.fillStyle和strokeStyle

6.绘制图片

总结:以上的知识点都是比较基础的知识点,需要自己下来多多练习,牢记知识点,灵活运用


一、css动画

1.元素2D变换transform

?①平移

transform: 变换,用于描述物体的位置旋转缩放

? ? ? ? ? ? ? ? translate: 平移

? ? ? ? ? ? ? ? 第一个参数 水平平移量 右为正方向

? ? ? ? ? ? ? ? 第二个参数 竖直平移量 下为正方向

<style>
        .box {
            width: 100px;
            height: 100px;
            background-color: #f00;
            transform: translate(-50px, -50px);
            transform: translateX(300px);
            transform: translateY(200px);
            transform: translateZ(50px);
        }
    </style>

②旋转

rotate 旋转?

? ? ? ? ? ? ?参数:可以是角度值 (deg) 也可以是弧度值 (rad) 弧度制的PI = 180°?

? ? ? ? ? ? 沿轴进行顺时针旋转为正方向,0°代表竖直向上?

? ? ? ? ? ? ?负数的含义其实就是 360 - 对应度数?

? ? ? ? ? ? ?默认旋转函数rotate 是沿着z轴进行旋转?

<style>
        .box {
            width: 100px;
            height: 100px;
            background-color: #f00;
            position: relative;
            top: 200px;
            left: 200px;
            transform: rotate(30deg);
            transform: rotate(-30deg);
            transform: rotateY(0deg);
        }
    </style>

③缩放

scale 缩放

? ? ? ? ? ? ? ? 参数:比率 1 为原本大小

? ? ? ? ? ? ? ??scale 写负数代表反向

 <style>
        .box {
            width: 100px;
            height: 100px;
            background-color: #f00;
            position: relative;
            top: 200px;
            left: 200px;
            transform: scale(1);
            transform: scaleX(0.5);
            transform: scaleY(2);
            transform: scale(2, 0.5);
        }

        img {
            transform: scale(-1);
            transform: scaleX(-1);
        }
    </style>

④倾斜

skew 倾斜

<style>
        .box {
            width: 100px;
            height: 100px;
            background-color: #f00;
            position: relative;
            top: 200px;
            left: 200px;
            transform: skew(30deg);
            transform: skew(0deg, 30deg);
            transform: skewX(30deg);
            transform: skewY(30deg);
        }
    </style>

⑤给transform同时赋值

 <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
            transform: translateX(100px) rotate(45deg) scale(0.5);
        }
    </style>

⑥变化的原点

设置transform的原点?

? ? ? ? ? ? ?原点的位置会影响旋转的圆心,缩放的位置?

? ? ? ? ? ? 待选值: top bottom left right center 还可以填入像素值?

第一个参数代表水平偏移量 第二个参数代表竖直偏移量?

? ? ? ? ? ? ?transform-origin: right center;?

? ? ? ? ? ? ?transform-origin: center bottom;?

? ? ? ? ? ? 当值为像素值的时候,像素值的参考位置是元素的左上角?

? ? ? ? ? ? ?transform-origin: 20px 70px;?

<style>
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
            position: absolute;
            top: 200px;
            left: 200px;
            transform-origin: center;
            /* transform-origin: right center; */
            /* transform-origin: center bottom; */
           /* transform-origin: 20px 70px; */
            transform: rotate(0deg);
            transform: scale(0.1);

        }
 </style>

2.过渡动画

①transition过渡动画

定义初始状态

transform: translateX(0px);

播放过度动画至少包含 transition-property transition-duration

指定css属性能够产生过度动画

?transition-property: left, transform;

transition-property 还有两个待选项

? ? ? ? ? ? ? ? none: 无

? ? ? ? ? ? ? ? all: 所有属性都能播放过渡动画

transition-property: all;

动画播放的时长

transition-duration: 2s;

动画播放的速度曲线?

? ? ? ? ? ? ?待选项

? ? ? ? ? ? ? ? linear: 匀速直线运动

? ? ? ? ? ? ? ? ease-in: 慢进

? ? ? ? ? ? ? ? ease-out: 慢出

? ? ? ? ? ? ? ? ease-in-out: 慢进慢出

? ? ? ? ? ? ? ? cubic-bezier: 曲线函数

transition-timing-function: linear;

动画播放延迟

?transition-delay: 3s;

合成属性

? ? ? ? ? ? ? ? 语法:

? ? ? ? ? ? ? ? transition: property duration timing-function delay;

②通过class来控制过渡动画

初始状态

transform: translateX(0);

? ? ? ? ? ? opacity: 1;

通常来说使用 active 类名来代表播放动画的状态?

? ? ? ? .box.active 的意思是: 选择既包含.box又包含.active的元素

?.box.active {

? ? ? ? ? ? /* 激活状态 */

? ? ? ? ? ? transform: translateX(300px);

? ? ? ? ? ? opacity: 0;

? ? ? ? }

添加 active 类名 用来控制动画的播放

? ? ? ? ?box.className = 'box active'

? ? ? ? box.classList.add('active')

3.animation动画

动画属性如下?

? ? ? ? ? ??动画animation必须包含 名称和时长两个属性才会进行播放 */

? ? ? ? ? ? animation一下四个属性可以和 tansition一块儿进行记忆

/* 动画名称 */

? ? ? ? ? ? animation-name: move;

? ? ? ? ? ? /* 动画播放时长 */

? ? ? ? ? ? animation-duration: 3s;

? ? ? ? ? ? /* 动画播放的速度曲线 */

? ? ? ? ? ? animation-timing-function: linear;

? ? ? ? ? ? /* 动画延迟 */

? ? ? ? ? ? /* animation-delay: 3s; */

?以下属性为 animation 独有的属性?

?/* 动画的迭代次数

? ? ? ? ? ? ? ? infinite 无限次

? ? ? ? ? ? */

? ? ? ? ? ? animation-iteration-count: 1;

? ? ? ? ? ? /* 动画播放方向

? ? ? ? ? ? ? ? 待选项:

? ? ? ? ? ? ? ? normal: 顺向播放

? ? ? ? ? ? ? ? reverse: 反向播放

? ? ? ? ? ? ? ? alternate: 来回播放

? ? ? ? ? ? ? ? alternate-reverse: 反向来回播放

? ? ? ? ? ? */

? ? ? ? ? ? animation-direction: normal;

? ? ? ? ? ? /* 动画填充模式(动画播放结束后所保留的状态)

? ? ? ? ? ? ? ? forwards: 保留结束帧的状态

? ? ? ? ? ? ? ? backwards: 保留起始帧的状态

? ? ? ? ? ? ? ? both: 保留初始和结束时的状态

? ? ? ? ? ? */

? ? ? ? ? ? animation-fill-mode: both;

可以定义复合属性,取代上面的所有属性?

? ? ? ? ? ? ?赋值顺序,可以参考如下顺序

duration | timing-function | delay | iteration-count | direction | fill-mode | play-state | name */

? ? ? ? ? ? /* duration | timing-function | delay | name */

? ? ? ? ? ? /* duration | name */

? ? ? ? ? ? /* animation: 2s move;

? ? ? ? ? ? animation: 2s linear 3s move

例子:

<style>
.box{
 animation: move 3s linear 2s forwards;

}
/* 动画帧序列 */
        @keyframes move {

            /* 起始帧 */
            from {
                /* 每一帧中描述该元素的状态 */
                transform: translateX(0px);
                opacity: 0;
            }

            /* 可以用百分比来代表动画的中间状态 */
            50% {
                transform: translateX(600px);
                opacity: 1;
            }

            /* 结束帧 */
            to {
                transform: translateX(300px);
            }
        }

</style>

4.动画的暂停和播放

animationPlayState 动画播放状态

? ? ? ? ?paused 暂停

? ? ? ? ?running 播放

5、3D变换

要使用3d变换需要依序执行以下步骤:

? ? ①. 搭建3d场景,在父元素上设置:transform-style: preserve-3d;

? ? ②. 在父元素上设置透视距离:perspective: 100px;

? ? ③. 给场景添加演员,给场景元素添加子元素

? ? ④. 在子元素上使用3d变换

6、属性选择器补充

匹配属性值包含指定内容的元素

?input[name*=e] {

? ? ? ? ? ? border: 3px solid red;

? ? ? ? }

匹配属性值以指定内容开头的元素

input[name^=s] {

? ? ? ? ? ? font-size: 24px;

? ? ? ? }

匹配属性值以指定内容结束的元素

input[name$=e] {

? ? ? ? ? ? background-color: greenyellow;

? ? ? ? }

?匹配属性值包含 dep- 开头的元素

input[name|=dep] {

? ? ? ? ? ? border: 3px solid blue;

? ? ? ? }

7.伪类选择器的补充

表单元素被禁用时的样式

input:disabled {

? ? ? ? ? ? border: 3px solid red;

? ? ? ? }

disabled仅限于表单元素使用

.box:disabled {

? ? ? ? ? ? border: 3px solid black;

? ? ? ? }

checked代表被勾选的元素

?input[name=sex]:checked {

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? }

? ? ? ?选中元素中的第一个字符?

.hw::first-letter {

? ? ? ? ? ? color: red;

? ? ? ? }

元素中的第一行内容

?.p1::first-line {

? ? ? ? ? ? color: green;

? ? ? ? }

选中的内容

.p2::selection {

? ? ? ? ? ? background-color: gold;

? ? ? ? }

8.渐变色

背景的渐变色实际上是设置的 background-image 而不是 background-color?

线性渐变 :

? ? ? ? ? ? ? ?语法: linear-gradient(direction, color1, color2, color3 ... )

? ? ? ? ? ? ? ? direction: 渐变色的朝向 以 to 开头, 或者可以添加角度值; 默认值为 to top

? ? ? ? ? ? ? ? color1 color2 ...: 渐变的颜色序列

?background-image: linear-gradient(30deg, #f00, #0f0, #00f);

颜色值后可以添加像素距离,该像素值代表着该颜色所处的位置,该位置颜色将到下一个位置的颜色之间进行渐变

?background-image: linear-gradient(to right, #f00, #f00 50px, #0f0 50px, #0f0 100px, #00f 200px);

?重复线性渐变

background-image: repeating-linear-gradient(to right, #f00, #f00 50px, #00f 50px, #00f 100px);

径向渐变

background-image: radial-gradient(#f00, orange, #0f0, #ff0, #f0f);

? ? ? ? ? ? background-image: radial-gradient(#f00, #f00 50px, #00f 50px, #00f 100px, #0f0 100px, #0f0 200px);

重复径向渐变

background-image: repeating-radial-gradient(#f00, #f00 50px, #ff0 50px, #ff0 100px);

9.分栏布局

设置文本列数

column-count: 3;

设置列宽度

column-width: 150px;

分栏边框,属性值和边框的属性值相同

column-rule: 5px double red;

两列文本中间的间距

column-gap: 100px;


10.响应式布局

响应式是什么?

当某个事情发生后,立即做出反应就叫响应式

? ? ? ? ? ? 此处我们讨论的是页面的响应式

什么是页面的响应式?

? ? ? ? ? ? 页面的元素样式会根据页面的宽度做出变化

为什么要使用页面响应式

? ? ? ? ? ? 为了让同一个页面能够适配不同的设备

?如何实现响应式??

? ? ? ? 使用媒体查询,来实现响应式布局?

? ? ? ? 媒体查询的作用:当媒体查询条件成立时,将应用花括号中代码块的样式

? ? ? ? 语法:@media media-type and (condition1) and (condition2) .

? ? ? ? 媒体类型 media-type:

? ? ? ? ? ? 备选项

? ? ? ? ? ? all: 所有设备

? ? ? ? ? ? print:打印机的预览模式

? ? ? ? ? ? screen:显示屏

? ? ? ? ? ? speech:语音合成器

? ? ? ? ?min-width: 屏幕最小宽度?

? ? ? ? ?max-width: 屏幕最大宽度?

 @media screen and (min-width: 600px) and (max-width: 900px) {
            .box {
                background-color: orange !important;
            }
        }

        @media screen and (min-width: 900px) {
            .sidebar {
                display: block !important;
            }
        }

        @media screen and (max-width: 900px) {
            .sidebar-mini {
                display: block !important;
            }
        }

二、jquery

1.jquery使用的方法:

① 查询并存储元素

②?操作元素,包括修改元素样式,绑定事件等

使用 $() 函数获取一个 jQuery 对象

? ?jquery 对象的变量名 一般以 $ 美元符开头

let $box = $('.box')

jquery 对象看上去像一个数组 其中数组成员就是 dom 对象

给元素添加样式

? ? $box.css('height', '100px')

? ? $box.css('background-color', '#f00')

jquery对象的函数总返回自己

?所以可以进行链式调用

2.创建jquery对象

什么是jquery 对象

使用jquery $() 函数查询出来的返回值 就是一个jquery 对象

$box 就是一个jquery 对象

? ? ?let $box = $('.box')

获取jquery对象的方法有两种

? ??①使用 css 选择器

?let $li = $('ul>li')

②使用 dom 对象

先查询一个dom对象

?let box = document.querySelector('.box')

使用dom对象获取一个jquery对象

let $box = $(box)

3.eq和get的用法

eq 读取对应索引位置的jquery对象

let $li = $lis.eq(1)

get 读取对应索引位置的dom对象?

? ?let li = $lis.get(2)

? ? li.style.color = '#f00'

使用 [] 方括号的方式去获取索引对应的 dom 对象

? ?其结果等价于 get 函数获取的结果

?let li = $lis[2]

? ? li.style.color = '#f00'

4.创建并插入元素

创建一个节点,该节点就是一个jquery对象

let $box = $(`<div class="box">new</div>`)

某个元素追加一个子节点

$(document.body).append($box)

追加一个子节点到另一个元素中

?$box.appendTo($(document.body))

某个元素追加一个节点到头部

$(document.body).prepend($box)

追加一个子节点到另一个元素的头部

$box.prependTo($(document.body))

某个元素的前面追加一个元素

$box2.before($box)

某个元素被添加到另一个元素的前面

?$box.insertBefore($box2)

?某个元素的后面添加一个元素

$box2.after($box)

某个元素被添加到另一个元素的后面

$box.insertAfter($box2)

5.设置样式

读取样式

let width = $box.css('width')

? ? console.log(width);

?读取多个样式

let r = $box.css(['width', 'color', 'font-size'])

? ? console.log(r);

赋值样式

$box.css('background-color', '#f00')

?通过函数来赋值样式

?index 遍历的数组成员的索引

? value 对应索引元素的样式值

$box.css('background-color', (index, value) => {

? ? ? ? console.log(index, value);

?返回一个参数就可以赋值css属性

if (index === 0) {

? ? ? ? ? ? return 'pink'

? ? ? ? } else {

? ? ? ? ? ? return 'gold'

? ? ? ? }

? ? })

6.设置类

添加类

?$box.addClass('active')

判断是否存在某个类名

$box.hasClass('active')

删除类

?$box.removeClass('active')

7.设置属性

?读取属性

let clazz = $box.attr('class')

? ? console.log(clazz);

赋值属性

?$box.attr('my-data', 'hello world')

?删除属性

$box.removeAttr('class')

8.设置标签体

相当于dom对象的innerText

$p.text('<span style="color: red">hello</span>&nbsp;world')

相当于dom对象的innerHTML

?$p.html('<span style="color: red">hello</span>&nbsp;world')

9.绑定事件

和dom对象绑定事件进行类比

? ?dom 对象有两种绑定事件的方法

? ? ①使用 事件属性 例如: onclick onmousemove

$btn.click(ev => {

? ? ? ? console.log('click');

? ? ? ? // ev 是jquery封装的事件对象

? ? ? ? console.log(ev);

? ? })

② 使用事件监听器

?$btn[0].addEventListener('click', ev=>{})

const handler = ev => {

? ? ? ? console.log(ev);

? ? ? ? console.log(1);

? ? }

绑定事件

? $btn.on('click', handler)

? ? $btn.on('click', ev => {

? ? ? ? console.log(ev);

? ? ? ? console.log(2);

? ? })

绑定一次性事件

$btn.one('click', ev => {

? ? ? ? console.log(ev);

? ? ? ? console.log('one');

? ? })

解绑指定事件处理程序

? ? $btn.off('click', handler)

? ??解绑所有事件处理程序

$btn.off('click')

10.元素包裹

?wrap wrapAll 函数作用是将指定元素用一段html内容包裹起来

每一个元素都使用 div 来进行包裹

? ? $('li').wrap('<div class="fs"></div>')

所有的 li 元素用一个 div 进行包裹

?$('li').wrapAll('<div class="fs"></div>')

11.读取和设置元素大小和位置

读取元素位置

?position 查询元素相对于父元素的位置 不能赋值只能读值

?console.log($box.position());

offset 查询元素全局坐标

?console.log($box.offset());

offset 可以赋值

$box.offset({ top: 200, left: 100 })

所有查询元素大小的函数均可赋值

? ? ?查询元素的内容宽高

console.log($box.width(300));

? ? console.log($box.height());

innerWidth 代表 width + padding

?console.log($box.innerWidth());

outerWidth 代表 width + padding + border

console.log($box.outerWidth());

12.其他API

index() 查询某个节点在集合中的索引

let index = $('.box').index($('.box:nth-child(3)'))

? ? console.log(index);

find() 查询某个节点的后代节点

?let $span = $('.box-list').find('.box>span')

? ? console.log($span);

js api 的查询方法

let boxList = document.querySelector('.box-list')

查询boxList的子节点

?console.log(boxList.querySelector('.box>span'));

closest 查询最近的父节点

?console.log($span.closest('.box-list'));

三、canvas画布

1.canvas的基础用法

使用canvas的步骤

??①?创建canvas标签

??② 给canvas标签设置 width height 属性

canvas width="400" height="300"></canvas>

? ③ 通过js 获取canvas标签

? ④. 通过canvas标签获取context画布上下文(画布对象)

const ctx = canvas.getContext('2d')

? ?⑤ 通过context绘制画布

ctx.fillRect(100, 50, 100, 100)

2.绘制矩形

?改颜色

? ? ctx.fillStyle = '#f00'

? ? 绘制实心矩形(rectangle)

? ? ?ctx.fillRect(x, y, w, h)

? ? ?x: 水平坐标

? ? ?y: 竖直坐标

? ? /坐标原点在canvas左上角

? ? ?w: 宽度

? ??h: 高度

? ? ctx.fillRect(50, 100, 150, 50)

? ? 镂空矩形

? ??参数和实心矩形相同

? ? ctx.strokeRect(300, 100, 200, 100)

? 清空矩形, 用于清空画布

? ? ctx.clearRect(0, 0, 800, 600)

3.绘制文本

修改字体大小和字体库

? ? ctx.font = '32px 华文琥珀'

? ? ctx.fillStyle = '#f00'

? ?绘制实心文字

? ?语法:ctx.fillText(text, x, y, max-width)

? ? ?text: 要渲染的文本

? ? x,y: 文本渲染的坐标位置

? ? max-width: 文本最大宽度,当大于该宽度,文本字体将自动缩小以自适应宽度

? ? ?ctx.fillText('祖国万岁!!', 200, 100, 100)

? ? ctx.fillText('祖国万岁!!', 200, 100)

? ? ctx.strokeStyle = '#0f0'

? ??镂空文字

? ? 参数和实心文本相同

? ? ctx.strokeText('祖国万岁!!', 200, 300)

4.画线

设置颜色和线宽

? ? ctx.strokeStyle = '#ff0'

? ? ctx.lineWidth = 15

?画线分两个步骤:

? ? ①描点(设置路径)

? ? ②画线(将所描的点连接起来)

? ?步骤一

? ? ?使用 beginPath 开启路径

? ? ctx.beginPath()

? ?移动笔头但不会记录路径上的线条

? ? ctx.moveTo(400, 100)

? ? 用线绘制到下一个点

? ? ctx.lineTo(200, 200)

? ? ctx.lineTo(600, 200)

? ? ctx.lineTo(400, 100)

?将路径封闭

? ? ctx.closePath()

? ?注意:beginPath在画新的路径的时候必须调用,closePath选择性调用

? ? 步骤二

? ? 为了显示图形需要调用以下函数

? ? ?将路径所包围的图形用纯色来填充

? ? ctx.fill()

? ? 将路径用镂空线条进行绘制

? ? ctx.stroke()

? ? ctx.strokeStyle = '#f00'

? ? ctx.beginPath()

? ? ctx.moveTo(400, 400)

? ? ctx.lineTo(500, 400)

? ? 角度转弧度的公式: rad = (PI / 180) * deg

? ? ?弧线

? ? ctx.arc(x, y, r, start, end)

? ? x: 圆心横坐标

? ? ?y: 圆心纵坐标

? ? r: 圆半径

? ? start: 起始弧度 0度时的方向为水平向右 顺时针为正方向

? ? end: 结束弧度

? ? ctx.arc(400, 400, 100, 0, Math.PI / 180 * 30)

? ? ctx.closePath()

? ? ctx.fill()

? ??ctx.stroke()

5.fillStyle和strokeStyle

??fillStyle 可以修改所有使用fill的函数所填充的颜色

? ? ctx.fillStyle = '#f00'

? ? ctx.fillRect(0, 0, 50, 50)

? ? ctx.beginPath()

? ? ctx.arc(250, 250, 200, (Math.PI / 180) * (-90), (Math.PI / 180) * (90))

? ? ctx.fill()

? ? strokeStyle 可以修改所有stroke函数的描边颜色

? ? ctx.strokeStyle = 'violet'

? ? ctx.lineWidth = 10

? ? ctx.strokeRect(50, 0, 50, 50)

? ? ctx.beginPath()

? ? ctx.arc(250, 250, 200, (Math.PI / 180) * (90), (Math.PI / 180) * (270))

? ? ctx.stroke()

6.绘制图片

语法:

? ? ctx.drawImage(image, dx, dy);

? ? ctx.drawImage(image, dx, dy, dWidth, dHeight);

? ? ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);

? ? image: img 标签的 dom 对象

? ? ?dx dy: 图片在canvas中的坐标

? ? dWidth dHeight: 图片在canvas中的宽高

? ? sx, sy: 参考图片源,截图的坐标

? ? ?sWidth, sHeight: 截图的宽高

? ? const img = document.querySelector('img')

? ? const canvas = document.querySelector('canvas')

? ? const ctx = canvas.getContext('2d')

img.addEventListener('load', () => {

? ? // ? ? // 图片加载完成后 再绘制图片

? ? // ? ? // ctx.drawImage(img, 100, 100)

? ? // ? ? // ctx.drawImage(img, 100, 100, 100, 100)

? ? // ? ? ctx.drawImage(img, 10, 100, 170, 170, 100, 100, 170, 170);

? ? // })

动态生成图片进行绘图

? ? let img = document.createElement('img')

? ? img.style.display = 'none'

? ? img.src = './img/heihei.png'

? ? img.addEventListener('load', ev => {

? ? ? ? // 绘图

? ? ? ? ctx.drawImage(img, 10, 100, 170, 170, 100, 100, 170, 170);

? ? ? ? // 删除图片节点

? ? ? ? img.remove()

? ? })

? ? // 插入图片到页面

? ? document.body.appendChild(img)

总结:以上的知识点都是比较基础的知识点,需要自己下来多多练习,牢记知识点,灵活运用

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:18:45  更:2022-09-15 02:19:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 3:42:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码