JS代码问题,“+x+”,"+y+"的理解。

JS代码问题,“+x+”,"+y+"的理解。,第1张

坐标系统

要使用元素变形 *** 作需要掌握坐标轴,然后通过改变不同坐标来控制元素的变形。

使用 transform 规则控制元素的变形 *** 作,包括控制移动、旋转、倾斜、3D转换等,下面会详细介绍每一个知识点。

下面是CSS提供的变形动作。

重要:

选项 说明

当 translate设置为百分比时,其参照是当前div的宽高

重复设置变形 *** 作时只在原形态上 *** 作。

下面设置了两次移动,并不会移动 550px 而是只移动50px。

行级元素不产生变形效果,将其转为 inline-block 或 block 以及d性元素时都可以产生变化效果。

鼠标移动上后发生改变。

image-20190902133840698

article div:nth-child(2):hover {

transform: rotate(180deg);

}

以下 *** 作变化时间为零秒,通过掌握后面的过渡动画可以控制变化时间。

沿X轴移动时正值向右移动、负值向左移动

沿Y轴移动时正值向下移动、负值向上移动

如果使用百分数将控制元素的原尺寸计算百分比然后移动

可同时设置多个值,解析器会从左向右依次执行

变形是在原基础上更改,即第二次设置值时不是在第一次值上变化

正值向右移动、负值向左移动。

正值向下移动、负值向上移动。

article div:nth-child(2) {

transform: translateY(100px);

}

使用 translate 可以控制按X、Y同时移动 *** 作,第一个值控制X移动,第二个值控制Y移动。

元素宽度为100px设置50%时将移动50px,即百分比是指元素的尺寸的百分比。

居中可以使用多种方式,如d性布局、定位 *** 作,下面来看使用移动 *** 作居中。

控制Z轴移动,正数向外、负数向里移动。因为Z轴是透视轴没有像X/Y一样的固定尺寸,所以不能使用百分数。

用于同时控制X/Y/Z轴的移动,三个值必须输入如果某个轴不需要移动时设置为零。

下面是使用移动效果制作的页面切换效果。

场景中的三要素

camera 相机

spotLight 光源

object (plane、cube)物体

一个只有一个平面的简单场景中已经包含了几个对象

其中包括使用 Sceneadd(object) 加载进场景的几个对象

场景渲染的时候camera对象会自动添加进来

从几个函数来理解THREEScene()对象

1、在场景中添加物体 SceneAdd()

2、移除物体 SceneRemove()

3、获取场景中所有子对象列表 Scenechildren

4、利用name 属性,获取场景中某个特定的物体 ScenegetChildByName()

5、这是一个回调函数返回所有子对象列表 scenetraverse()

在这里的效果同使用for 循环遍历children这个属性

6、雾化属性 在添加完场景后即可添加,可以使整个场景有一种雾化的效果

scenefog = new THREEFog(0xffffff,0015,100);

7、使场景中的所有物体都使用相同的材质

sceneoverrideMaterial = new THREEMeshLambertMaterial({color:0xffffff});

var geom = new THREEGeometry()

geomvertices = vertices vertices数组定义了构成几何体的点;

geomfaces = faces 将vertices里面的点连接起来,创建成三角面片,就形成了faces数组;

geomverticesNeedUpdate = true 告诉geom对象 上面的属性需要更新;

geomcomputeCentroids() 计算geom中face数组里每一个面的重心;

geomcomputeFaceNormals() 该函数用来重新计算侧面,从而完成整个模型的更新

geommergeVertices() 从字面上的意思可以理解为将几何体的面融成一个立体;

geomclone() 创建出一个geom对象的副本,赋予不同的材质后,就可以使用这个副本创建不同的网格对象。

meshposition

meshrotation

meshscale

meshtranslateX

meshtranslateY

meshtranslateZ

cubepositionset(10,3,1)

cubeposition = new THREEVector3(10,3,1)

1、在controls 中添加方法变量

属性变量是这样的: thispositionX = 1;

方法变量:

2、把对象传递给gui (无取值范围)

guiadd(controls,'translate')

这样在gui中点击的时候就可以调用 translate 方法

var mesh = THREESceneUtilscreateMultiMaterialObject(geom,materials)//其中materials是设置材料的对象数组

这个方法创建出来的不是一个THREEMesh实例,而是materials数组里面的每一个材质都会创建一个实例 所以要像使用Scene对象一样使用这个(THREEMesh)

以上就是关于JS代码问题,“+x+”,"+y+"的理解。全部的内容,包括:JS代码问题,“+x+”,"+y+"的理解。、js写一个将图片向上淡出第二张图片从下往上淡入、移动端用translate替换left/top制作动画效果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9389280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存