主要思想:

蔡甸ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
首先要準(zhǔn)備一張有連續(xù)幀的圖片,然后利用HTML5 Canvas的draw方法在不同的時間間隔繪制不同的幀,這樣看起來就像動畫在播放。
關(guān)鍵技術(shù)點(diǎn):
JavaScript 函數(shù)setTimeout()有兩個參數(shù),第一個是參數(shù)可以傳遞一個JavaScript方法,
另外一個參數(shù)代表間隔時間,單位為毫秒數(shù)。代碼示例:
setTimeout( update, 1000/30);
Canvas的API-drawImage()方法,需要指定全部9個參數(shù):
ctx.drawImage(myImage, offw, offh, width,height, x2, y2, width, height);
其中offw, offh是指源圖像的起始坐標(biāo)點(diǎn),width, height表示源圖像的寬與高,x2,y2表
示源圖像在目標(biāo)Canvas上的起始坐標(biāo)點(diǎn)。
!DOCTYPE?html?
html?
head?
meta?http-equiv="X-UA-Compatible"?content="chrome=IE8"?
meta?http-equiv="Content-type"?content="text/html;charset=UTF-8"?
titleCanvas?Mouse?Event?Demo/title?
link?href="default.css"?rel="stylesheet"?/?
script?
var?ctx?=?null;?//?global?variable?2d?context?
var?started?=?false;?
var?mText_canvas?=?null;?
var?x?=?0,?y?=0;?
var?frame?=?0;?//?22?5*5?+?2?
var?imageReady?=?false;?
var?myImage?=?null;?
var?px?=?300;?
var?py?=?300;?
var?x2?=?300;?
var?y2?=?0;?
window.onload?=?function()?{?
var?canvas?=?document.getElementById("animation_canvas");?
console.log(canvas.parentNode.clientWidth);?
canvas.width?=?canvas.parentNode.clientWidth;?
canvas.height?=?canvas.parentNode.clientHeight;?
if?(!canvas.getContext)?{?
console.log("Canvas?not?supported.?Please?install?a?HTML5?compatible?browser.");?
return;?
}?
//?get?2D?context?of?canvas?and?draw?rectangel?
ctx?=?canvas.getContext("2d");?
ctx.fillStyle="black";?
ctx.fillRect(0,?0,?canvas.width,?canvas.height);?
myImage?=?document.createElement('img');?
myImage.src?=?"../robin.png";?
myImage.onload?=?loaded();?
}?
function?loaded()?{?
imageReady?=?true;?
setTimeout(?update,?1000/30);?
}?
function?redraw()?{?
ctx.clearRect(0,?0,?460,?460)?
ctx.fillStyle="black";?
ctx.fillRect(0,?0,?460,?460);?
//?find?the?index?of?frames?in?image?
var?height?=?myImage.naturalHeight/5;?
var?width?=?myImage.naturalWidth/5;?
var?row?=?Math.floor(frame?/?5);?
var?col?=?frame?-?row?*?5;?
var?offw?=?col?*?width;?
var?offh?=?row?*?height;?
//?first?robin?
px?=?px?-?5;?
py?=?py?-?5;?
if(px??-50)?{?
px?=?300;?
}?
if(py??-50)?{?
py?=?300;?
}?
//var?rate?=?(frame+1)?/22;?
//var?rw?=?Math.floor(rate?*?width);?
//var?rh?=?Math.floor(rate?*?height);?
ctx.drawImage(myImage,?offw,?offh,?width,?height,?px,?py,?width,?height);?
//?second?robin?
x2?=?x2?-?5;?
y2?=?y2?+?5;?
if(x2??-50)?{?
x2?=?300;?
y2?=?0;?
}?
ctx.drawImage(myImage,?offw,?offh,?width,?height,?x2,?y2,?width,?height);?
}?
function?update()?{?
redraw();?
frame++;?
if?(frame?=?22)?frame?=?0;?
setTimeout(?update,?1000/30);?
}?
/script?
/head?
body?
h1HTML?Canvas?Animations?Demo?-?By?Gloomy?Fish/h1?
prePlay?Animations/pre?
div?id="my_painter"?
canvas?id="animation_canvas"/canvas?
/div?
/body?
/html
html5 拖動效果在手機(jī)上實現(xiàn)方法是調(diào)用drag和drop一系列函數(shù)實現(xiàn)的。
注意:拖拽源在拖拽操作結(jié)束將得到dragend事件對象,不管操作成功與否。
舉例:
定義可拖放內(nèi)容
div id="columns"
div class="column" draggable="true"headerA/header/div
div class="column" draggable="true"headerB/header/div
div class="column" draggable="true"headerC/header/div
/div
2、監(jiān)聽拖動事件
可附加大量不同事件以監(jiān)聽整個拖放過程:
dragstart
drag
dragenter
dragleave
dragover
drop
dragend
a.這里是開始拖拽
function handleDragStart(e) {
this.style.opacity = '0.4'; ?// this / e.target is the source node.
}
var cols = document.querySelectorAll('#columns .column');
[].forEach.call(cols, function(col) {
col.addEventListener('dragstart', handleDragStart, false);
});
b.dragenter、dragover?和?dragleave?事件處理程序可用于在拖動過程中提供額外的可視化提示。例如,在拖動期間將鼠標(biāo)懸停在某一列上方時,其邊框可能會變成虛線。這樣,用戶就能知道這些列也是放置的目標(biāo)區(qū)域。
!DOCTYPE html
html
head
meta charset="utf-8" /
title/title
/head
body
img src="img/292176.jpg" id="tp"/
script type="text/javascript"
function blink()
{
var a=document.getElementById("tp")
if(a.style.visibility=="visible")
{
a.style.visibility="hidden";
}
else
{
a.style.visibility="visible";
}
setTimeout("blink()",500);//間隔的毫秒,0.5秒
}
blink();
/script
/body
ml
可以使用css3中的rotate實現(xiàn)
實際的旋轉(zhuǎn)效果是這樣:
rotate中的 60deg 表示按最原始的位置,順時針旋轉(zhuǎn)60°
w3school 里面有更詳細(xì)用法,可以2D旋轉(zhuǎn)、3D旋轉(zhuǎn)
可以參考:網(wǎng)頁鏈接
動畫效果可以通過js改變rotate中傳入的值來實現(xiàn)
可以設(shè)置cookie(可以加載一個cookie.min.js,使用起來非常方便)。就是當(dāng)?shù)谝淮芜M(jìn)入頁面的時候,先去讀取該cookie,如果存在,說明之前已經(jīng)做了更改,把cookie值稍作處理就可以完成初始化了(記得當(dāng)初始化完成后刪除該cookie),如果cookie不存在說明還沒有做過更改。
網(wǎng)站欄目:html5圖片特效,html5圖片特效點(diǎn)擊旋轉(zhuǎn)
鏈接分享:http://chinadenli.net/article13/dsehogs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、搜索引擎優(yōu)化、企業(yè)建站、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)