JavaScript 实现简单的移动和缓动的效果

article/2025/9/19 21:22:36

目录

一、HTML布局

二、CSS布局

三、JavaScript代码——移动

 四、JavaScript代码——缓动

五、完整代码 


一、HTML布局

简单定义两个盒子,一个做移动效果、一个做缓动效果。

    <div class="box box1"></div><div class="box box2"></div>

二、CSS布局

为两个盒子定义宽高和背景色,随便做个效果哦!能看就管,

          <style>*{padding:0px;margin:0px;}.box{width: 200px;height: 200px;background: blue;position: absolute;left:0px;}.box2{background: red;margin-top: 210px;}</style>

三、JavaScript代码——移动

1.获取元素

把刚才html定义的元素获取过来在js中运用。

var box1 = document.querySelector('.box1');
var box2 = document.querySelector('.box2');

2.封装函数实现移动

num:定义盒子每次都移动h1个像素。

target: 每次移动的距离。

if判断:通过if来判断,到达了设定距离,就会删除间隔函数。

box.style.left:没有达到距离,一直赋值给‘盒子’左边距。

myRun:给盒子设计点击事件,点击才会出现移动,this指向box1,里面是所调用的值,可以直接在里面修改,移动一次的距离,一共移动的距离。

function myRun(box,h1,h2){ 
var myInter = setInterval(function(){
var offsetLeft = box.offsetLeft;
var num = h1;   
var target = h2;  
if(offsetLeft==target){  clearInterval(myInter);}else{box.style.left = offsetLeft+num+'px';}},1000)}box1.onclick=function(){myRun(this,50,200); } 

移动效果

 四、JavaScript代码——缓动

与移动同理使用函数来封装,代码大致与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);}

缓动效果

五、完整代码 

1.移动代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>移动</title><style>* {padding: 0px;margin: 0px;}.box {width: 200px;height: 200px;background: blue;position: absolute;left: 0px}.box2 {background: red;margin-top: 210px;}</style>
</head><body><div class="box box1"></div><div class="box box2"></div><script>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;var target = h2;if (offsetLeft == target) {clearInterval(myInter);} else {box.style.left = offsetLeft + num + 'px';}}, 1000)}box1.onclick = function () {myRun(this, 50, 200);} </script>
</body></html>

2.缓动效果

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>移动</title><style>* {padding: 0px;margin: 0px;}.box {width: 200px;height: 200px;background: blue;position: absolute;left: 0px}.box2 {background: red;margin-top: 210px;}</style>
</head><body><div class="box box1"></div><div class="box box2"></div><script>var box1 = document.querySelector('.box1');var box2 = document.querySelector('.box2');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);}</script>
</body></html>


http://chatgpt.dhexx.cn/article/XWL6IbTG.shtml

相关文章

js实现鼠标移动

要求&#xff1a; 鼠标移入美女图片&#xff0c;出现半透明正方块鼠标移出美女图片&#xff0c;隐藏半透明正方块鼠标在美女图片区域移动&#xff0c;半透明正方块随着移动半透明正方块移动到美女图片四边界时&#xff0c;停止移动点击下面小图切换大图 html结构部分 <!D…

js实现图片移动

图片在指定范围内移动 图片在指定范围内移动&#xff0c;配上合适和图片和背景&#xff0c;就可以完成好看的动态页面。 其实就是一张猫行走的动图&#xff0c;再配上黄色的背景色。 <body style"background-color:rgba(255,216,0,1.00)"> //背景颜色<im…

JavaScript移动显示

JavaScript移动显示 1.首先创建好 html 的格式&#xff0c;然后&#xff01;Tab&#xff1b;我们要实现鼠标在div标签中移动时&#xff0c;下面的p标签实时显示鼠标在div的位置&#xff0c;首先要在body里创建div标签和p标签&#xff0c;分别给它们设置id名&#xff0c;如下图&…

使用JavaScript 实现简单的移动和缓动的动画效果

目录 一、H5的简单布局 二、css的布局 三、获取元素 四、使用js来实现‘盒子’移动 效果展示 五、使用js来实现缓动效果 效果展示 六、完整代码评论区自取 一、H5的简单布局 <div class"box box1"></div><div class"box box2">&…

一文教你如何用JS代码来操作元素拖拽移动的效果

目录 一、先看要执行后的效果二、看完效果后&#xff0c;来捋一下我们要执行效果都有哪些&#xff1f;1. 要获取元素节点的信息2. 需要对该元素进行鼠标按下事件3. 还需要鼠标移入事件与在该元素的按下事件配合实现拖拽效果4. 最后在鼠标在该元素内抬起的同时对鼠标移入事件进行…

JS移动DOM节点,将某节点下所有子节点移动(剪切)到另一个节点下。新手很容易踩的坑!

JS移动DOM节点&#xff0c;将某节点下所有子节点移动&#xff08;剪切&#xff09;到另一个节点下。新手很容易踩的坑&#xff01; 题目(新手练习题)BUG第一种错误第二种错误 解决方案第一种解决方案&#xff08;无循环&#xff09;第二种解决方案第三种解决方案&#xff08;推…

解决最新的Chrome 7 不再支持CRX手动安装方法

从2018年6月13日起,谷歌最新的Chrome 7 不再支持CRX手动安装方法.这样导至国内用户无法顺利安装Chrome扩展&#xff0c;又无法访问Chrome应用商店.这里提供了源码安装方式&#xff1a; 1.把下载的插件包尾缀为 .crx 更改为 .zip 用解压工具解压 2.打开你的Chrome浏览器的 更…

google chrome

麦殼兒 让互联网回归初心 734590632qq.com邀你一起畅享麦殼兒极速体验 注册时输入如下邀请码&#xff0c;即可升格为VIP会员&#xff1a; WsyOuk-6BARChoy0 安装, 使用说明 点击这里下载插件(此链接仅在不能登录Google Chrome Store时使用) 第一步: 下载插件 详细图文说明 第二…

Chrome 设置黑色模式

通过 Chrome 设置更新黑色模式 版本&#xff1a;Google Chrome7 更新 Chrome 浏览器到 78 以上版本在网址栏输入 Chrome 黑色模式指令&#xff1a; chrome://flags/#enable-force-dark&#xff0c; 点击 Enter 键后就进入 黑色模式配置页&#xff1a; 将 Force Dark Mode for…

软件-浏览器-GoogleChrome:Google Chrome

ylbtech-软件-浏览器-GoogleChrome&#xff1a;Google Chrome Google Chrome 是一款由Google公司开发的网页浏览器&#xff0c;该浏览器基于其他 开源软件撰写&#xff0c;包括 WebKit&#xff0c;目标是 提升稳定性、速度和安全性&#xff0c; 并创造出简单且有效率的使用者界…

CentOS 7下安装Google Chrome浏览器

在 Linux 下安装Google Chrome浏览器是标配之一&#xff0c;CentOS 7 系统自带是 Firefox 浏览器&#xff0c;虽然也很优秀&#xff0c;但是平时 Chrome 用习惯了&#xff0c;而且还有很多标签&#xff0c;我希望同步回来&#xff0c;所以安装一个 Google Chrome 浏览器是必须的…

chromium 16 chromium 登陆 google 账号

01 自己编译的 chromium 登陆google账号问题 自己编译的chromium&#xff0c;如果编译的时候&#xff0c;没有提供google key&#xff0c;也没有需改账号体系内容相关代码时&#xff0c;登陆google账号会失败。提示[抱歉&#xff0c;出了点问题。请重试]。如下图: 02 申请 g…

html5设置谷歌浏览器兼容性,google浏览器

google浏览器作为现阶段最实用的搜索工具之一&#xff0c;其中就包括拥有众多功能的存在&#xff0c;例如兼容模式&#xff0c;而兼容模式用的是ie的Trident内核&#xff0c;对此许多用户可能还不是很明白兼容模式的设置&#xff0c;那么 chrome浏览器64位本下载v80.0.3987.122…

谷歌chromeos_谷歌浏览器 79.0.3945.79 正式版

Chrome浏览器追求的是全方位的快速体验&#xff0c;它不仅能飞快地从桌面上启动&#xff0c;而且能瞬间完成网页加载&#xff0c;还能以闪电般的速度运行网络应用。Chrome浏览器整洁且直观&#xff0c;您可在同一位置进行搜索和导航&#xff0c;可随意排列标签页&#xff0c;既…

Chrome version must be 70 and 73

说两个问题 1、 selenium.common.exceptions.WebDriverException: Message: chromedriver executable needs to be in PAT 原因没有找到webdriver运行程序,路径不对或者根本就没有下载 下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads 2、Chro…

谷歌浏览器 Google Chrome v74.0.3729.131 正式版

Chrome 浏览器追求的是全方位的快速体验&#xff0c;它不仅能飞快地从桌面上启动&#xff0c;而且能瞬间完成网页加载&#xff0c;还能以闪电般的速度运行网络应用。Chrome 浏览器整洁且直观&#xff0c;您可在同一位置进行搜索和导航&#xff0c;可随意排列标签页&#xff0c;…

chrome浏览器

http://blog.csdn.net/pipisorry/article/details/37728839 谷歌浏览器相关设置 谷歌浏览器双击标签关闭 1. 安装拓展程序Chrome Toolbox(chrome已不支持) 2. 鼠标中键单击标签 谷歌浏览器点击书签在新标签页打开 1. 安装拓展程序&#xff1a; chrookmarks \ Bookmarks l…

CentOS7 安装Chrome

目录 1、权限 2、下载 3、安装依赖包 4、安装Chrome 5、打开Chrome 1、权限 若不是root权限&#xff0c;需要在root下执行为用户授权命令&#xff0c;我直接使用root登录 [rootlocalhost src]# usermod -g root login_name 注&#xff1a;login_name替换成自己的登录名 …

Win7系统安装哪个版本的Chrome浏览器

Win系统安装Chrome浏览器 Win7系统环境&#xff0c;安装Chrome应该尽量考虑2021年发布的浏览器版本。理由如下&#xff1a; Win7版Chrome“续命”到2022年 延长支持6个月&#xff1a;Win7版Chrome“续命”到2022年 90版本Chrome支持Win7系统 Chrome90安装包及chromedriver驱…

Chromatix 7 使用<2>

Edit region triggers Utilties->Parameter Editor 可以修改triggers 的值 和添加regions Add scenarios Edit-> Edit project scenarios 主要包含&#xff1a;sensor 、usecase、feature、scene 场景结构如下&#xff1a; sensor0 拍照可以继承preview的场景 sensor1…