为了账号安全,请及时绑定邮箱和手机立即绑定

请发源代码

老师写的代码能给我们发份吗

正在回答

3 回答

view-source:http://www.imooc.com/activity/project1

0 回复 有任何疑惑可以回复我~

最好自己手敲哦~需要的话留邮箱

0 回复 有任何疑惑可以回复我~

HTML部分

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge ,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="form-detection" content="telephone=no">
<title>恭贺新春</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript" src="js/script.js"></script>
</head>
<body>
<div>
<img src="images/music_pointer.png">
<img id="music" src="images/music_disc.png">
</div>

<!-- 第一页开始 -->
<div id="page1">
<div></div>
<div>点击屏幕<br/>开启好运2016</div>
<div></div>
<div>2016年新年贺卡</div>
</div>
<!-- 第一页结束 -->

<!-- 第二页开始 -->
<div id="page2">
<div class="bg p2_bg_loading"></div>
<div></div>
<div></div>
<div></div>
</div>
<!-- 第二页结束 -->

<!-- 第三页开始 -->
<div id="page3">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<!-- 第三页结束 -->
<!-- 插入音乐开始 -->
<audio autoplay="true">
<source src="audio/happynewyear.mp3" type="audio/mpeg">
</audio>
<!-- 插入音乐结束 -->
</body>
</html>

CSS部分

/*al  tag*/
*{
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.5625vw;
	font-family: "Microsoft Yahei";
}
html,body{
	height: 100%;
	overflow:hidden;
}
/*music*/
.music{
	position: fixed;
	top: 3vh;
	right: 4vw;
	z-index: 5;
	width: 15vw;
	height: 15vw;
	border: 4px solid #ef1639;
	border-radius:50%; 
	background: #fff;
}

.music > img:first-of-type{
	position: absolute;
	top: 24%;
	right: 2.5%;
	z-index: 1;
	width: 28.421%;
}

.music > img:last-of-type{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin:auto;
	z-index: 0;
	width: 79%;
}
/*动画*/
.music > img.play{
	-webkit-animation: music_disc 4s linear infinite ;
	        anmation: music_disc 4s linear infinite ;
}
@-webkit-keyframes music_disc{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
	}
	100%{
		-webkit-transform: rotate(360deg);
			 	transform: rotate(360deg);
	}
}
keyframes music_disc{
	0%{
		-webkit-transform: rotate(0deg);
			 	transform: rotate(0deg);
	}
	100%{
		-webkit-transform: rotate(360deg);
				transform: rotate(360deg);
	}
}
/*page bg*/
.page{
	height: 100%;
	position: absolute;
	width: 100%;
}
.page > .bg{
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
}


/*page1*/
#page1{
	display: block;
}
#page1 > .bg{
	background: url("../images/p1_bg.jpg") no-repeat center;
	background-size:100%;
}	
#page1 > .p1_lantern{
	position: absolute;
	color: white;
	top: -3.4%;
	right: 0;
	left: 0;
	margin: auto;
	background: url("../images/p1_lantern.png") no-repeat center;
	background-size: 100%;
	width: 45vw;
	height: 71.2vh;
	font-size: 3.506rem;
	padding-top: 31vh;
	text-align: center;
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	    -ms-box-sizing:border-box;
	     -o-box-sizing:border-box;
	        box-sizing:border-box;
}
#page1 > .p1_lantern:before{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	margin :auto;
	width :30vw;
	height: 30vw;
	background :#d60b3b;
	opacity: .5;
	border-radius:50%; 
	-webkit-box-shadow: 0 0 10vw 10vw #d60b3b;
	   -moz-box-shadow: 0 0 10vw 10vw #d60b3b;
	    -ms-box-shadow: 0 0 10vw 10vw #d60b3b;
	     -o-box-shadow: 0 0 10vw 10vw #d60b3b;
         	box-shadow: 0 0 10vw 10vw #d60b3b;
    -webkit-animation: p1_lantern .5s infinite alternate;
    		animation: p1_lantern .5s infinite alternate;
  
}
/*动画*/
@-webkit-keyframes p1_lantern{
	0%{
		opacity: .5;
		-webkit-transform : scale(.8, .8);
				transform : scale(.8, .8);
	}
	100%{
		opacity: 1;
	}
}
@keyframes p1_lantern{
	0%{
		opacity: .5;
		-webkit-transform : scale(.8, .8);
				transform : scale(.8, .8);
	}
	100%{
		opacity: 1;
	}
}

#page1 > .p1_imooc{
	position: absolute;
	right: 0;
	left: 0;
	bottom: 9vh;
	background :url("../images/p1_imooc.png") no-repeat center center;
	background-size: 100%;
	width: 27.652vw;
	height: 18.63vh;
	margin: auto;
}
#page1 > .p1_words{
	font-size: 2.134rem;
	position: absolute;
	right: 0;
	bottom: 48px;
	left: 0;
	text-align: center;
	color: #231815;
}
/*page2*/
#page2{
	display: none;
	-webkit-transition: .5s;
			transition: .5s;
}
#page2.fadeOut{
	opacity: .3;
	-webkit-transform: translate(0, -100%);
			transform: transform(0, -100%);
}

#page2 > .bg{
	background: url("../images/p2_bg.jpg") no-repeat center center;
	background-size:100%;
}	
#page2 > .p2_bg_loading{
	z-index: 4;
	background: #ef1639;
	-webkit-animation: p2_bg_loading 1s linear forwards;
			animation: p2_bg_loading 1s linear forwards;
} 
@-webkit-keyframes p2_bg_loading{
	0%  {opacity: 1;}
	100%{opacity: 0;}
}
@keyframes p2_bg_loading{
	0%  {opacity: 1;}
	100%{opacity: 0;}
}
#page2 > .p2_circle{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	background: url("../images/p2_circle_outer.png") no-repeat center center;
	background-size: 100%;
	width: 59.375vw;
	height: 59.375vw;
	-webkit-animation: p2_circle_outer 1s linear 3s infinite;
			animation: p2_circle_outer 1s linear 3s infinite;
}
/*动画*/
@-webkit-keyframes p2_circle_outer{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(-360deg);
				transform: rotate(-360deg); 
	}
}
@keyframes p2_circle_outer{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(-360deg);
				transform: rotate(-360deg); 
	}
}

#page2 > .p2_circle:before{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-radius: 50%;
	content: "";
	background: url("../images/p2_circle_middle.png") no-repeat center  center;
	background-size: 100%;
	width: 45.625vw;
	height: 45.625vw;
	-webkit-animation: p2_circle_middle 1s linear 2s infinite;
			animation: p2_circle_middle 1s linear 2s infinite;
}
@-webkit-keyframes p2_circle_middle{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(720deg);
				transform: rotate(720deg); 
	}
}
@keyframes p2_circle_middle{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(720deg);
				transform: rotate(720deg); 
	}
}

#page2 > .p2_circle:after{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-radius: 50%;
	content: "";
	background: url("../images/p2_circle_inner.png") no-repeat center  center;
	background-size: 100%;
	width: 39.9375vw;
	height: 39.9375vw;
	-webkit-animation: p2_circle_inner 1s linear 1s infinite;
			animation: p2_circle_inner 1s linear 1s infinite;
}
@-webkit-keyframes p2_circle_inner{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(-1080deg);
				transform: rotate(-1080deg); 
	}
}
@keyframes p2_circle_inner{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(-1080deg);
				transform: rotate(-1080deg); 
	}
}

#page2 > .p2_2016{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: url("../images/p2_2016.png") no-repeat center center;
	background-size: 100%;
	width: 27.5vw;
	height: 6.24vh;
}
/*page3*/
#page3 {
	display: none;
	-webkit-transition: .5s;
			transition: .5s;
}
#page3.fadeIn{
	-webkit-transform: translate(0,-100%);
			transform: translate(0,-100%);
}
#page3 > .bg{
	background: url("../images/p3_bg.jpg") no-repeat center center;
	background-size:100%;
}	
#page3 > .p3_logo{
	width: 34.6875vw;
	height: 6.327vh;
	position: absolute;
	top: 7.82vh;
	right: 0;
	left: 0;
	margin: auto;
	background: url("../images/p3_logo.png") no-repeat center center;
	background-size: 100%;
}
#page3 > .p3_title{
	width: 48.125vw;
	height: 50vh;
	position: absolute;
	top: 21vh;
	right: 0;
	left: 0;
	margin: auto;
	background: url("../images/p3_title.png") no-repeat center center;
	background-size: 100%;
}
#page3 > .p3_second{
	width: 22.8125vw;
	height: 41.652vh;
	position: absolute;
	top: 25.48vh;
	left: 3.75vw;
	margin: auto;
	background: url("../images/p3_couplet_second.png") no-repeat center center;
	background-size: 100%;
}
#page3 > .p3_first{
	width: 22.8125vw;
	height: 41.652vh;
	position: absolute;
	top: 25.48vh;
	right: 3.75vw;
	margin: auto;
	background: url("../images/p3_couplet_first.png") no-repeat center center;
	background-size: 100%;
}
#page3 > .p3_blessing{
	width: 32vw;
	height: 32vw;
	position: absolute;
	right: 0;
	bottom: 10vh;
	left: 0;
	margin:auto;
	border-radius:50%; 
	background: url("../images/p3_blessing.png") no-repeat center center;
	background-size: 100%;
	-webkit-animation: p2_circle_blessing 2s linear infinite;
			animation: p2_circle_blessing 2s linear infinite;
}
@-webkit-keyframes p2_circle_blessing{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(360deg);
				transform: rotate(360deg); 
	}
}
@keyframes p2_circle_blessing{
	0%{
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg); 
	}
	100%{
		-webkit-transform: rotate(360deg);
				transform: rotate(360deg); 
	}
}

JS部分

window.onload = function(){
	//获取元素
	var page1 = document.getElementById('page1');
	var page2 = document.getElementById('page2');
	var page3 = document.getElementById('page3');

	var music = document.getElementById('music');
	var audio = document.getElementsByTagName('audio')[0];
	
	//当音乐播放完停止时候,自动停止光盘旋转效果,ended为audio的API
	audio.addEventListener("ended", function(event){
		music.setAttribute("class" , "");
		// music.style.animationPlayState = "paused";
		// music.style.webkitAnimationPlayState = "paused";
	}, false)

	//点击音乐图标,控制音乐播放效果
	// music.onclick = function(){
	// 	if (audio.paused) {
	// 		audio.play();
	// 		this.setAttribute("class", "play");
	// 		//this.style.animationPlayState = "running"
	// 		//this.style.webkitAnimationPlayState = "running"
	// 	}else{
	// 		this.setAttribute("class" , "");
	// 		//this.style.animationPlayState = "paused"//iPhone6 plus可以兼容
	// 		//this.style.webkitAnimationPlayState = "paused"//iphone6可以兼容,但安卓不兼容
	// 		audio.pause();
	// 	}
	// };
	music.addEventListener("touchstart", function(event){
		if (audio.paused) {
			audio.play();
			this.setAttribute("class", "play");
		}else{
			audio.pause();
			this.setAttribute("class" , "");
		}
	} ,false);
	page1.addEventListener("touchstart", function(event){
		page1.style.display = "none";
		page2.style.display = "block";
		page3.style.display = "block";
		page3.style.top     = "100%";

		setTimeout(function(){
			page2.setAttribute("class" ,"page fadeOut");
			page3.setAttribute("class" , "page fadeIn");
		},5500);
	}, false);
};


1 回复 有任何疑惑可以回复我~
#1

小感冒

望采纳
2016-02-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
HTML5+CSS3实现春节贺卡
  • 参与学习       109883    人
  • 解答问题       450    个

又逢新春佳节,春节贺卡搞起来,学会HTML5+CSS3实现春节贺卡

进入课程

请发源代码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信