亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Move.js入門

2019-11-19 17:41:23
字體:
來源:轉載
供稿:網友

在網站上,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()方法?,F在,讓我們了解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();

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av最新在线| 亚洲一级片在线看| 亚洲精品福利在线观看| 亚洲午夜久久久影院| 夜夜狂射影院欧美极品| 欧美专区日韩视频| 久久99久久亚洲国产| 亚洲国产成人91精品| 久久久久久国产免费| 国产在线日韩在线| 国内自拍欧美激情| 成人综合国产精品| 精品电影在线观看| 日韩va亚洲va欧洲va国产| 欧美福利视频网站| 欧美黑人视频一区| 中文字幕av一区二区三区谷原希美| 亚洲精品一区二三区不卡| 国产精品99久久久久久白浆小说| 国产99久久精品一区二区 夜夜躁日日躁| 欧美日韩在线视频观看| 国产亚洲人成网站在线观看| 亚洲三级 欧美三级| 亚洲国产精品人久久电影| 免费av一区二区| 中文亚洲视频在线| 国产精品中文久久久久久久| 久久久久亚洲精品国产| 日韩欧美国产网站| 亚洲精品美女网站| 亚洲欧美国产精品va在线观看| 精品久久久久久亚洲国产300| 精品久久久久久亚洲精品| 91久久在线视频| 亚洲影视九九影院在线观看| 国产日韩欧美视频在线| 伦伦影院午夜日韩欧美限制| 亚洲欧美日韩视频一区| 69精品小视频| 国产成人aa精品一区在线播放| 精品福利视频导航| 亚洲国产精品成人va在线观看| 亚洲天堂开心观看| 日本精品久久中文字幕佐佐木| 亚洲人成人99网站| 日韩免费av片在线观看| 国产精品一区二区在线| 国产精品美女999| 久久人人爽国产| 国产精品一区二区三区久久| 国产亚洲欧美aaaa| 欧美在线视频播放| 成人信息集中地欧美| 久久久www成人免费精品| 91人成网站www| 一区二区三区动漫| 亚洲美女精品成人在线视频| 国产精品偷伦视频免费观看国产| 日韩av一区在线| 亚洲天堂久久av| 国产精品福利在线观看| 亚洲在线视频观看| 精品久久国产精品| 日韩欧美在线观看视频| 国产在线精品播放| 日韩福利伦理影院免费| 国产精品成人观看视频国产奇米| 97在线精品视频| 日韩在线精品一区| 青草青草久热精品视频在线网站| 性日韩欧美在线视频| 一本色道久久综合狠狠躁篇怎么玩| 国内精品中文字幕| 91麻豆桃色免费看| 欧美激情视频三区| 国产福利精品av综合导导航| 国产精品69久久| 韩曰欧美视频免费观看| 日本sm极度另类视频| 国产精品手机播放| 国产精国产精品| 日韩av在线网页| 欧美午夜电影在线| 国产精品丝袜白浆摸在线| 视频直播国产精品| 久久99久久99精品免观看粉嫩| 久久精品小视频| 狠狠久久亚洲欧美专区| 日韩国产精品视频| 亚洲自拍偷拍色片视频| 久久天天躁夜夜躁狠狠躁2022| 17婷婷久久www| 91免费人成网站在线观看18| 国产精品444| 久久在线视频在线| 国产精品免费福利| 亚洲一区二区三区xxx视频| 成人av在线网址| 伊人一区二区三区久久精品| 搡老女人一区二区三区视频tv| 欧美精品videosex性欧美| 亚洲第一视频在线观看| 欧美中文字幕在线观看| 国产主播喷水一区二区| 欧美成人午夜激情视频| 懂色aⅴ精品一区二区三区蜜月| 久久久精品网站| 国产午夜精品视频免费不卡69堂| 亚洲天堂第一页| 国产日韩欧美日韩大片| 欧美在线免费视频| 欧美视频中文字幕在线| 91免费的视频在线播放| 国产精品亚洲美女av网站| 色视频www在线播放国产成人| 日日骚av一区| 亚洲精品在线不卡| 亚洲国产欧美一区二区丝袜黑人| 亚洲最大的免费| 欧美极品xxxx| 亚洲激情视频在线观看| 欧美第一页在线| 欧美精品一区三区| 久久99亚洲热视| 欧美日韩国产123| 成人乱色短篇合集| 影音先锋日韩有码| 成人免费激情视频| 国产精品入口夜色视频大尺度| 日韩av一区在线| 成人免费看黄网站| 国产精品福利在线| 精品视频www| 亚洲在线视频观看| 亚洲视频欧洲视频| 精品久久久香蕉免费精品视频| 亚洲影视九九影院在线观看| 中文日韩电影网站| 亚洲精品98久久久久久中文字幕| 国产成+人+综合+亚洲欧美丁香花| 国产精品爱久久久久久久| 91精品国产91久久久久久吃药| 中文字幕精品www乱入免费视频| 亚洲人成网7777777国产| 久久久久久69| 91av在线影院| 欧美精品一本久久男人的天堂| 久久久久久综合网天天| 欧洲午夜精品久久久| 亚洲aaa激情| 91人人爽人人爽人人精88v| 欧美在线视频观看免费网站| 国产一区二区成人| 另类视频在线观看| 日韩免费不卡av| 亚洲电影免费观看高清完整版| 国产精品三级在线| 成人免费网站在线看| 国产一区二区免费| 夜夜嗨av色一区二区不卡| 亚洲天堂成人在线视频| 日本最新高清不卡中文字幕| 国产高清在线不卡| 91国产中文字幕|