这两天比较有时间就自己简单的研究了一下现在比较流行的结婚请柬h5的制作方法。
简单的编写了一下代码如下:
html部分
请柬标题
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
请柬标题2
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
请柬标题3
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
*{
margin:0;
padding:0;
}
html,body{
width:100%;
height:100%;
}
.con{
width:100%;
height:100%;
font-size:0.36rem;
position:relative;
}
h2,p{
font-size:0.16rem;
text-align:center;
}
p{
animation:text 1s linear 1;
}
h2{
animation:title 1s linear 1;
}
.fir,.sec,.thir{
width:100%;
height:100%;
/*background:#f00;*/
position:absolute;
}
.fir{
background:url(img/bg.jpg) no-repeat center center;
}
.sec{
background:url(img/bg2.jpg) no-repeat center center;
}
.thir{
background:url(img/bg3.jpg) no-repeat center center;
}
文本动画函数
@keyframes text{
0%{left:-200px;transform: rotate(0deg);}
100%{left:0;right:0;transform: rotate(360deg);}
}
标题动画函数
@keyframes title{
0%{right:-200px;transform: rotate(0deg);}
100%{right:0;transform: rotate(360deg);}
}
移动rem布局函数
// rem布局的代码
new function (){
var _self = this;
_self.width = 750;//设置默认最大宽度
_self.fontSize = 100;//默认字体大小
_self.widthProportion = function(){var p = (document.body&&document.body.clientWidthdocument.getElementsByTagName("html")[0].offsetWidth)/_self.width;return p>1?1:p<0.5?0.5:p;};
_self.changePage = function(){
document.getElementsByTagName("html")[0].setAttribute("style","font-size:"+_self.widthProportion()*_self.fontSize+"px !important");
}
_self.changePage();
window.addEventListener("resize",function(){_self.changePage();},false);
};js部分:
首先判断页面是上滑了还是下滑
var startX, startY;
var result = 0;
document.addEventListener('touchstart',function (ev) {
startX = ev.touches[0].pageX;
startY = ev.touches[0].pageY;
}, false);
document.addEventListener('touchend',function (ev) {
var endX, endY;
endX = ev.changedTouches[0].pageX;
endY = ev.changedTouches[0].pageY;
function GetSlideDirection(startX, startY, endX, endY) {
var dy = startY - endY;
var length =document.getElementsByClassName('page').length;
//var dx = endX - startX;
if(dy>0) {//向上滑动
result =result+1 ;
}else if(dy<0){//向下滑动
result= result-1;
}
将其他的页面隐藏
for(var i =0; i
document.getElementsByClassName('page')[i].style.display="none";
}
判断页码如果大于2就让result=2如果页码小于0就让页码等于0
if(result>2) {
result = 2;
}
if(result<0) {
result = 0;
}
console.log(result);
将当前的页面展示出来
document.getElementsByClassName('page')[result].style.display="block";
}
GetSlideDirection(startX, startY, endX, endY);
})