摘要:任務名稱響應式砸蛋頁面任務背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應式砸蛋頁面吧系統鄭方方接下前輩的任務鄭方方自動解析任務步驟任務響應式砸蛋頁面與入門閱讀秘籍響應式布局制作層搭配搭配控制器完成任務人物背
任務名稱:響應式砸蛋頁面 任務背景
前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應式砸蛋頁面吧?
系統:鄭方方接下前輩的任務 - 鄭方方自動解析任務步驟
任務:響應式砸蛋頁面
HTML5與CSS3入門 - 閱讀《HTML5秘籍》(0/1)
響應式布局(0/1)
制作Canvas層(0/1)
搭配Javascript(0/1)
搭配PHP控制器 (0/1)
完成任務(0/1)
人物背景介紹:鄭方方
主職:小白PHP碼畜;副職:Acer
技能:吃飯、睡覺
特征:單身狗
學習正文和代碼響應式布局 Begin
因為我不是前端,所以使用Bootstrap的visible-xs和hidden-xs,對于一些特殊的要求就是用 @media 來進行調節.
我使用的是不知道從哪里介紹的幾種尺寸范圍,如下:
@media (min-width: 970.1px) and (max-width: 1170px)
@media (min-width: 700.1px) and (max-width: 970px)
@media (min-width: 600px) and (max-width: 700px)
@media (min-width: 400px) and (max-width: 599.99px)
@media (max-width: 399.99px)
對于頁面布局,我借助了 http://www.ibootstrap.cn/ 這個網站,之后再把代碼下載下來自己進行修改.
Tip:垂直居中(主要是用于蛋一直在頁面中間)
position: absolute; margin: auto; top: 0; left: 0; bottom: 0; right: 0;
響應式布局(1/1)Over
制作Canvas層 Begin
制作Canvas層時我把動畫分為三個
EggCanvas - 蛋(無其他CSS3效果)
HammerCanvas - 錘子(animation、rotate):錘子砸下去后錘子會復位
BoomCanvas - 爆炸特效(animation、transform、opacity):Ajax查詢后爆炸變大并消失
Tip:為了讓這些效果能兼容更多瀏覽器,我要這幾個效果就會像下面代碼,比如我的錘子效果
.AniHammer { animation: AniHammer 0.5s; -moz-animation: AniHammer 0.5s; /* Firefox */ -webkit-animation: AniHammer 0.5s; /* Safari and Chrome */ -o-animation: AniHammer 0.5s; /* Opera */ } @keyframes AniHammer { /*25% {*/ /*transform: rotate(45deg);*/ /*}*/ 50% { transform: rotate(-135deg); } 100% { transform: rotate(0deg); } } @-moz-keyframes AniHammer /* Firefox */ { /*25% {*/ /*-moz-transform: rotate(45deg);*/ /*}*/ 50% { -moz-transform: rotate(-135deg); } 100% { -moz-transform: rotate(0deg); } } @-webkit-keyframes AniHammer /* Safari and Chrome */ { /*25% {*/ /*-webkit-transform: rotate(45deg);*/ /*}*/ 50% { -webkit-transform: rotate(-135deg); } 100% { -webkit-transform: rotate(0deg); } } @-o-keyframes AniHammer /* Opera */ { /*25% {*/ /*-o-transform: rotate(45deg);*/ /*}*/ 50% { -o-transform: rotate(-135deg); } 100% { -o-transform: rotate(0deg); } }
這一段樣式就是在0.5秒內,把動畫效果分兩步,第一步旋轉到-135度,第二步就是旋轉回0度.其中的-o-,-webkit-,-moz-就是為了兼容.
搭配Javascript Begin
我不知道剛接觸的人會怎么想Javascript 和 CSS3 的關系,我最開始的時候還以為JS能控制CSS3的動畫行為呢,現在我感覺JS只能通過控制元素的Class的attr( )或者removeclass( ),來完成我們想要的CSS3的一系列動畫行為. (可能我現在還理解不夠深,有誰理解的,麻煩給我科普科普)
移動端和PC端分別對應兩個事件:Touch事件和Click事件,Touch事件如下:
var EggTouch = function (){console.log("Hi")}; document.getElementById("LuckEgg").addEventListener("touchstart", EggTouch, false);
但是Canvas層產生的圖片,了解過的人都知道需要用JS去生成圖像
// 1.加載蛋的圖片 var EggCanvas = document.getElementById("LuckEgg"); var EggContext = EggCanvas.getContext("2d"); var EggImg = new Image(); EggImg.src = "./egg.png"; // 特別注意 - 要圖片加載完才會出現圖片 EggImg.onload = function () { // 還要在這里判斷屏幕大小 --- 用于確定生成的蛋的位置和大小 EggContext.drawImage(EggImg, 30, 20, 240, 120); };
Tip:
每一次JS控制帶有自動執行的動畫效果的元素,使其display:block,就會自動執行動畫效果;
使用setTimeout( )來完成某些效果,比如我的Boom效果爆炸持續時間是0.5秒,那么我就要在Boom后0.5秒再去執行其他函數.,這樣就能得到我們想要的效果.
制作Canvas層(1/1)Over
搭配Javascript(1/1)Over
搭配PHP控制器 Begin
如果你們跟我一樣同時使用了Touch和Click這兩個事件,那么可能會出現在瀏覽器測試的時候,鼠標點擊模擬手機狀態下的touch行為,就會有兩次POST傳到后臺,這就可能出現客戶投訴說:我砸蛋砸了一次,怎么次數就沒了.之類的話語.所以在后臺我會用redis做一個很簡單的鎖,防止上面的情況的發生.
/** 防止touch 和 click 同時觸發 */ self::$lock .= $user["uid"]; self::$luckValue = CommonCommonMyRedis::getInstance()->get(self::$lock); if (self::$luckValue && time() - self::$luckValue <= 1) { exit; } else { CommonCommonMyRedis::getInstance()->set(self::$lock, time(), 2); }
搭配PHP控制器 (1/1)
完成任務(1/1)
到此,任務也就做完了,其中一些比如什么字體大小,怎么查數據庫,怎么控制JS的一些業務細節我就不多說了.
畢竟我也只是第一次寫博客,文中有什么錯誤,或者思路有問題,還希望各位看客能指點指點.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115016.html
摘要:任務名稱響應式砸蛋頁面任務背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應式砸蛋頁面吧系統鄭方方接下前輩的任務鄭方方自動解析任務步驟任務響應式砸蛋頁面與入門閱讀秘籍響應式布局制作層搭配搭配控制器完成任務人物背 任務名稱:響應式砸蛋頁面 任務背景 前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應式砸蛋頁面吧? 系統:鄭方方接下前...
摘要:任務名稱響應式砸蛋頁面任務背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應式砸蛋頁面吧系統鄭方方接下前輩的任務鄭方方自動解析任務步驟任務響應式砸蛋頁面與入門閱讀秘籍響應式布局制作層搭配搭配控制器完成任務人物背 任務名稱:響應式砸蛋頁面 任務背景 前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應式砸蛋頁面吧? 系統:鄭方方接下前...
摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現在已經一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現將已經寫好的文章整理一個目錄,方便更多的小伙伴去學習。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...
閱讀 2737·2021-10-11 10:57
閱讀 1568·2021-09-26 09:55
閱讀 1310·2021-09-06 15:11
閱讀 3447·2021-08-26 14:16
閱讀 662·2019-08-30 15:54
閱讀 535·2019-08-30 12:43
閱讀 3289·2019-08-29 16:18
閱讀 2564·2019-08-23 16:14