基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于JavaScript实现百叶窗动画效果不只单纯flas可以实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1634字,纯文字阅读大概需要3分钟。
内容图文
![基于JavaScript实现百叶窗动画效果不只单纯flas可以实现](/upload/InfoBanner/zyjiaocheng/354/52ffbd0daa384075a58299ce087ef0ec.jpg)
看到这种什么百叶窗的动画,以为都是flash实现的,最近突然灵光一闪,想到了用js实现(虽然我不是做前端的,本人做.net)。代码虽然实现了,但是比较乱,先上个图:
一个js的动画,以前以为只有flash可以实现
代码主要就是一些数学的计算,然后结合html,css打造出类似flash的效果。
下面贴出主要的部分代码:
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=; } },);
以上代码是使用javascript实现的百叶窗动画效果,希望对大家有所帮助!
内容总结
以上是互联网集市为您收集整理的基于JavaScript实现百叶窗动画效果不只单纯flas可以实现全部内容,希望文章能够帮你解决基于JavaScript实现百叶窗动画效果不只单纯flas可以实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。