Rumah > hujung hadapan web > tutorial js > Melaksanakan kesan animasi pengatup berdasarkan JavaScript bukan sahaja boleh dilakukan dengan kemahiran flas_javascript yang mudah

Melaksanakan kesan animasi pengatup berdasarkan JavaScript bukan sahaja boleh dilakukan dengan kemahiran flas_javascript yang mudah

WBOY
Lepaskan: 2016-05-16 15:13:00
asal
1348 orang telah melayarinya

Apabila saya melihat animasi pengatup seperti ini, saya fikir semuanya telah dilaksanakan dalam kilat Baru-baru ini, saya tiba-tiba mendapat idea dan terfikir untuk menggunakan js untuk melaksanakannya (walaupun saya bukan orang yang paling hadapan, saya seorang. .orang bersih). Walaupun kod itu telah dilaksanakan, ia agak tidak kemas Mari kita ambil gambar dahulu:

Animasi js, saya pernah berfikir bahawa hanya flash boleh mencapainya

Kod ini terutamanya beberapa pengiraan matematik, dan kemudian digabungkan dengan html dan css untuk mencipta kesan seperti denyar.

Bahagian utama kod disiarkan di bawah:

function all(books){
for(var i=;i<self.rows;i++) {
for (var j = ; j < self.columns; j++) {
if(!books[i][j])return false;
}
}
return true;
}
function resetBooks(books){
for(var i=;i<self.rows;i++) {
for (var j = ; j < self.columns; j++) {
books[i][j]=false;
}
}
return true;
}
var self=this,timer=null,_iindex= ;
var initdir=[[[,],[,]],[[-,],[,]],[[,-],[-,]],[[,-],[,]],[[,-],[,],[,],[-,]]],dir=initdir[];
var weight=[,,,,];
var initpos=[[{x:,y:-}],[{x:self.columns-,y:-}],[{x:self.columns-,y:self.rows}],[{x:,y:self.rows}],[{x:self.columns/,y:self.rows/}]];
timer=setInterval(function(){
var n=[];
for(var i=;i<self.preDivs.length;i++){
var _div=null,x= ,y=;
for(var j=;j<dir.length;j++){
x=self.preDivs[i].x+dir[j][];
y=self.preDivs[i].y+dir[j][];
if(x>=&&y>=&&x<self.columns&&y<self.rows&&!self.books[y][x]){
self.books[y][x]=true;
_div=self.zzDivStatck[y][x];
n.push({x:x,y:y});
_div.style.backgroundImage = "url(" + self.zzImages[_iindex] + ")";
_div.style.backgroundPositionX = (-x * self.zzDivW) + "px ";
_div.style.backgroundPositionY = (-y * self.zzDivH) + "px";
}
}
}
self.preDivs=n;
if(all(self.books)){
resetBooks(self.books);
var _r=util.randomWeight(weight);
self.preDivs = initpos[_r];
dir=initdir[_r];
_iindex++;
}
if(_iindex>=+self.zzImages.length){
_iindex=;
}
},);
Salin selepas log masuk

Kod di atas adalah kesan animasi buta yang dilaksanakan menggunakan javascript. Saya harap ia akan membantu semua orang!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan