Move.js入门
发布时间 - 2026-01-10 22:54:58 点击率:次在网站上,CSS3 的过渡和动画是当前创建轻量级动画的首选方法。不幸的是,很多开发者发现他们自己的语法和复杂和混乱的。如果这听起来像你自己,对你来说,或许Move.js是完美的方案。Move.js是使用简单函数创建 CSS3 动画的一个简单的JavaScript库。本教程将探讨Move.js的基础知识,并提供一个在线demo。

基础知识
Move.js 提供了创建 CSS3 动画的最简单的 JavaScript API。让我们假设有一个带类 box 的 div 元数,当鼠标 移动到 div 上面的时候我们想从左侧移动元素100个像素。在这种情况下,我们的代码如果所示:
.box {
-webkit-transition: margin 1s;
-moz-transition: margin 1s;
-o-transition: margin 1s;
transition: margin 1s;
}
.box:hover {
margin-left: 100px;
}
使用 Move.js 我们可以简单调用 set()方法实现同样的结果,如下:
move('.box')
.set('margin-left', 100)
.end();
入门
首先,访问 Move.js GitHub page并下载最新的包,提取并拷贝 Move.js 文件到你的工作目录。接下来,在你的html 页面中引入该文件。完成后的页面应该如下:
<!DOCTYPE html> <html> <head> <title>Move.js Demo</title> <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" > </head> <body> <a href="#" rel="external nofollow" rel="external nofollow" id="playButton">Play</a> <div class="box"></div> <script type="text/javascript" src="js/move.js"></script> </body> </html>
我们 已经定义了一个类为 box 的 div 元数和一个ID为playButton的a链接以用于我们的demo。让我们创建一个styles.css文件并添加下面的样式。注意下面的样式对于Move.js来说不是必须的:
.box {
margin: 10px;
width: 100px;
height: 100px;
background: #7C9DD4;
box-shadow: 5px 5px 0px #D1D1D1;
}
#playButton {
display: block;
font-size: 20px;
margin: 20px 10px;
font-weight: bold;
color: #222;
text-decoration: none;
}
我们的html页面看起来应该如下图:
现在,让我们写下第一个Move.js片段。我们需要附加一个onclick事件处理程序到palyButton上,并在单击的时候使其向右移动。事件处理程序的JavaScript代码如下,这段代码添加 transform:translateX(300px) 到 box 元数上:
document.getElementById('playButton').onclick = function(e) {
move('.box')
.x(300)
.end();
};
添加Move.js代码后的完整代码如下:
HTML
<!DOCTYPE html>
<html>
<head>
<title>Move.js Demo</title>
<link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" >
</head>
<body>
<a href="#" rel="external nofollow" rel="external nofollow" id="playButton">Play</a>
<div class="box"></div>
<script type="text/javascript" src="js/move.js"></script>
<script type="text/javascript">
document.getElementById('playButton').onclick = function(e){
move('.box')
.x(300)
.end();
};
</script>
</body>
</html>
CSS
.box {
margin-left: 10px;
width: 100px;
height: 100px;
background: #7C9DD4;
box-shadow: 5px 5px 0px #D1D1D1;
}
#playButton {
display: block;
font-size: 20px;
margin: 20px 10px;
font-weight: bold;
color: #222;
text-decoration: none;
}
Move.js的方法
在前面的demo中,我们看到了x()方法。现在,让我们了解Move.js的其他方法。
set(prop, val)
set()方法用于设置元素的css属性,他带有两个参数:css属性和属性值。示例用法:
.set('background-color', '#CCC')
.set('margin-left', 500)
.set('color', '#222')
add(prop, val)
add()方法用来增加其已经设置的属性值。该方法必须数值型值,以便用来增加。该方法必须有两个参数:属性值和其增量:
.add('margin-left', 200)
在前面的代码片段调用后,会在其值的基础上增加200px。
sub(prop, val)
sub()是add()的逆过程,他接受两个相同的参数,但其值将从属性值中减去。
.sub('margin-left', 200)
rotate(deg)
正如名称所暗示的,该方法通过提供的数值作为参数来旋转元素。当方法被调用的时候通过附加到元素的 transform 属性上。下面的代码旋转元素90deg:
.rotate(90)
这段代码将添加如下css到元素上:
transform:rotate(90deg)
duration(n)
通过该方法,你可以设置动画的播放时间。例如:如下代码,2秒钟将元素从左侧往右移动200px:
.set('margin-left', 200)
.duration('2s')
另一例子,下面的代码。Move.js在2秒钟内将会修改元素的margin属性,设置背景色,同时将元素旋转90度。
.set('margin-left', 200)
.set('background-color', '#CCC')
.rotate(90)
.duration('2s')
translate(x[, y])
translate()方法用于修改元素的默认位置,使用提供的坐标作为参数,如果仅设置一个参数,将作为x坐标,如果提供了第二个参数,将作为y坐标:
.translate(200, 400)
x() and y()
x()方法用于调整元素的x坐标,y()方法用于调整元素的y坐标。两个方法的参数可以是正数也可以是负数,如下:
.x(300) .y(-20)
skew(x, y)
skew()用于调整一个相对于x和y轴的角度。该方法可以被分为skewX(deg)和skewY(deg)两个方法:
.skew(30, 40)
scale(x, y)
该方法用于放大或压缩元素的大小,按照提供的每一个值,将调用transform的scale方法:
.scale(3, 3)
ease(fn)
如果你使用过CSS3过渡,你就了解ease函数作用在transition属性上。他指定了过渡的行为。每个 ease 函数是 in、out、in-out、snap、cubic-bezeir等。这些函数可以通过Move.js提供的ease()方法得到调用。例如:
.ease('in').x(400)
.ease('cubic-bezier(0,1,1,0)').x(400)
end()
该方法用于Move.js代码片段的结束,他标识动画的结束。技术上,该方法触发动画的播放。该方法接受一个可选的callback回掉函数。代码如下:
move('.box')
.set('background-color', 'red')
.duration(1000)
.end(function() {
alert("Animation Over!");
});
delay(n)
正如方法所暗示的,该方法提供一个时间的数值作为动画的延时。如下:
move('.box')
.set('background-color', 'red')
.delay(1000)
.end();
then()
该方法是Move.js中一个最重要的函数。他用于分割动画为两个集合,并按顺序执行。如下动画被分为两步,通过then()方法实现分割:
move('.box')
.set('background-color', 'red')
.x(500)
.then()
.y(400)
.set('background-color', 'green')
.end();
## 使用Move.js创建复杂动画 ##
在本教程中,我们已经写了很多基本的 动画来了解各个方法。接下来,我们使用Move.js可以很容易的创建复杂的动画。该demo阐述了Move.js的大部分内容,在demo page
上我们创建了动画的描述,代码如下:
move('.square')
.to(500, 200)
.rotate(180)
.scale(.5)
.set('background-color', '#FF0551')
.set('border-color', 'black')
.duration('3s')
.skew(50, -10)
.then()
.set('opacity', 0)
.duration('0.3s')
.scale(0.1)
.pop()
.end();
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# Move.js
# 用Move.js配合创建CSS3动画的入门指引
# JS实现类似百叶窗下拉菜单效果
# 原生js实现百叶窗效果及原理介绍
# 基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
# js实现绿白相间竖向网页百叶窗动画切换效果
# js实现横向百叶窗效果网页切换动画效果的方法
# JS实现网页百叶窗效果
# 用move.js库实现百叶窗特效
# 让我们
# 这段
# 提供一个
# 在前面
# 自己的
# 的是
# 如果你
# 你可以
# 第一个
# 你就
# 将会
# 最重要
# 对你
# 会在
# 并在
# 很容易
# 我们可以
# 可以通过
# 第二个
# 写了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
jquery插件bootstrapValidator表单验证详解
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
装修招标网站设计制作流程,装修招标流程?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
如何在Ubuntu系统下快速搭建WordPress个人网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何快速配置高效服务器建站软件?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Bootstrap整体框架之JavaScript插件架构
什么是javascript作用域_全局和局部作用域有什么区别?
网站制作报价单模板图片,小松挖机官方网站报价?
Laravel如何发送系统通知?(Notification渠道示例)
MySQL查询结果复制到新表的方法(更新、插入)
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
JavaScript如何实现类型判断_typeof和instanceof有什么区别
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
青岛网站建设如何选择本地服务器?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
南京网站制作费用,南京远驱官方网站?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
如何彻底删除建站之星生成的Banner?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
如何在 Pandas 中基于一列条件计算另一列的分组均值
奇安信“盘古石”团队突破 iOS 26.1 提权
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何在IIS7中新建站点?详细步骤解析
如何快速搭建支持数据库操作的智能建站平台?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何快速搭建高效可靠的建站解决方案?
Python图片处理进阶教程_Pillow滤镜与图像增强
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
大同网页,大同瑞慈医院官网?
Python高阶函数应用_函数作为参数说明【指导】
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
googleplay官方入口在哪里_Google Play官方商店快速入口指南
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何在香港服务器上快速搭建免备案网站?
如何在自有机房高效搭建专业网站?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Firefox Developer Edition开发者版本入口
上一篇: 清远 电影,清远市民卡怎么预约电影?
上一篇: 清远 电影,清远市民卡怎么预约电影?

