<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>李立昌 http://www.jianshu.com/users/b1e8423ae7e2/latest_articles</title>
<style>
*{
margin: 0;
padding: 0;
}
#box{
width: 700px;
height: 400px;
background: #ccc;
margin:50px auto;
position: relative;
}
#box span{
position: absolute;
transform-style: preserve-3d;
transform:perspective(800px) rotateY(0deg);
}
#box span .front{
width:100%;
height: 100%;
position: absolute;
transform:translateZ(1px);
background: url("img/0.jpg") no-repeat;
}
#box span .back{
width:100%;
height: 100%;
position: absolute;
transform:scale(-1,1) translateZ(-1px);
background: url("img/1.jpg") no-repeat;
}
</style>
<script>
document.addEventListener('DOMContentLoaded',function(){
var oBox = document.getElementById('box');
var C = 7;
var R = 4;
for(var r = 0;r<R;r++){
for(var c = 0;c<C;c++){
//创建span
var oSpan = document.createElement('span');
var w = oBox.offsetWidth/C;
var h = oBox.offsetHeight/R;
oSpan.style.width = w +'px';
oSpan.style.height = h +'px';
oSpan.style.left = w*c+'px';
oSpan.style.top = h*r+'px';
oSpan.innerHTML = '<em class="front"></em><em class="back"></em>';
oBox.appendChild(oSpan);
oSpan.c = c;
oSpan.r = r;
oSpan.children[0].style.backgroundPosition = -oSpan.offsetLeft+'px -'+oSpan.offsetTop+'px';
oSpan.children[1].style.backgroundPosition = -oSpan.offsetLeft+'px -'+oSpan.offsetTop+'px';
}
}
var iNow = 0;
var bReady = true;
//点击
var aSpan = oBox.children;
oBox.onclick = function(){
if(bReady==false){return;}
bReady = false;
iNow++;
for(var i=0;i<aSpan.length;i++){
aSpan[i].style.transition = '1s all ease '+200*(aSpan[i].r+aSpan[i].c)+'ms';
aSpan[i].style.transform = 'perspective(800px) rotateY(180deg)';
}
};
aSpan[aSpan.length-1].addEventListener('transitionend',function(){
bReady = true;
for(var i = 0;i<aSpan.length;i++){
//瞬间拉回
aSpan[i].style.transition = 'none';
aSpan[i].style.transform = 'perspective(800px) rotateY(0deg)';
//console.log(iNow,iNow%3,iNow+1)%3);
//换图
aSpan[i].children[0].style.backgroundImage = 'url("img/'+iNow%3+'.jpg")';
aSpan[i].children[1].style.backgroundImage = 'url("img/'+((iNow+1)%3)+'.jpg")';
}
},false);
},false);
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>
颗粒翻页HTML5+CSS3
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 每个网站开发者在创建一个时尚新潮的网站设计之前首先应该考虑HTML5+CSS3。今天给大家带来的是45个优质的HT...