发布时间:2024-07-20 10:01
目录
一、H5的简单布局
二、css的布局
三、获取元素
四、使用js来实现‘盒子’移动
效果展示
五、使用js来实现缓动效果
效果展示
六、完整代码评论区自取
简易的布局出两个不同颜色的‘盒子’。
var box1 = document.querySelector('.box1');
var box2 = document.querySelector('.box2');
可以使用函数封装,来实现,修改调用,不需要在代码中修改,可以减少出错的几率。
function myRun(box,h1,h2){ //封装函数
var myInter = setInterval(function(){
var offsetLeft = box.offsetLeft;
var num = h1; //每次都移动h1个像素
var target = h2; //一共移动的距离
if(offsetLeft==target){ //通过if来判断,到达了设定距离,就会删除间隔函数
clearInterval(myInter);
}else{
box.style.left = offsetLeft+num+'px';//没有达到距离,一直赋值给‘盒子’左边距
}
},1000)}
box1.onclick=function(){
myRun(this,50,200); } //给‘盒子’设计点击事件,点击才会出现移动,this指向box1,里面是所调用的值,可以直接在里面修改,移动一次的距离,一共移动的距离
依旧可以使用函数来封装,达到简洁的效果
大致代码与js移动相同,中间判断与上文稍微有些不同,其中的含义是,第一次移动取移动距离的十分之一,接下来的每一次移动,都是取省下来还剩多少距离的十分之一,取整是为了,在无线接近于所设置的距离可以移动。
function move(obj,sum){
var liLi = setInterval(function(){
var offsetLeft =obj.offsetLeft;
var num = (sum - offsetLeft)/10;
num > 0 ? Math.ceil(num):Math.floor(num);
if(offsetLeft==sum){
clearInterval(liLi);
}else{
obj.style.left = offsetLeft+num+'px';
}
},1000)
} box2.onclick=function(){
move(this,200);
}
Kotlin1.6.20新功能Context Receivers使用技巧揭秘
JsonPath:针对json的强大的规则解析与参数查找工具
Windows下更新适用于Portapack的HackRF One固件
手语识别 机器学习_Google 带来了一种手语识别算法,让你明白别人究竟在比划啥...
2022春招——禾赛科技FPGA技术岗(一、二面,收集于:数字IC打工人及FPGA探索者)
python 通过dict(zip)和{}的方式构造字典的方法
读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)
已解决UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start byte
Python&C++相互混合调用编程全面实战-18c++给python传递变量的两种方法