成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

鄭方方打怪升級日記 — 初識HTML5與CSS3

justCoding / 546人閱讀

摘要:任務(wù)名稱響應(yīng)式砸蛋頁面任務(wù)背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應(yīng)式砸蛋頁面吧系統(tǒng)鄭方方接下前輩的任務(wù)鄭方方自動解析任務(wù)步驟任務(wù)響應(yīng)式砸蛋頁面與入門閱讀秘籍響應(yīng)式布局制作層搭配搭配控制器完成任務(wù)人物背

任務(wù)名稱:響應(yīng)式砸蛋頁面 任務(wù)背景

前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應(yīng)式砸蛋頁面吧?

系統(tǒng):鄭方方接下前輩的任務(wù) - 鄭方方自動解析任務(wù)步驟

任務(wù):響應(yīng)式砸蛋頁面

HTML5與CSS3入門 - 閱讀《HTML5秘籍》(0/1)

響應(yīng)式布局(0/1)

制作Canvas層(0/1)

搭配Javascript(0/1)

搭配PHP控制器 (0/1)

完成任務(wù)(0/1)

人物背景介紹:鄭方方

主職:小白PHP碼畜;副職:Acer

技能:吃飯、睡覺

特征:單身狗

學(xué)習(xí)正文和代碼

響應(yīng)式布局 Begin

因為我不是前端,所以使用Bootstrap的visible-xshidden-xs,對于一些特殊的要求就是用 @media 來進(jìn)行調(diào)節(jié).
我使用的是不知道從哪里介紹的幾種尺寸范圍,如下:

@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/ 這個網(wǎng)站,之后再把代碼下載下來自己進(jìn)行修改.

Tip:垂直居中(主要是用于蛋一直在頁面中間)

    position: absolute;
    margin: auto;
    top: 0; left: 0; bottom: 0; right: 0;

響應(yīng)式布局(1/1)Over

制作Canvas層 Begin

制作Canvas層時我把動畫分為三個

EggCanvas - 蛋(無其他CSS3效果)

HammerCanvas - 錘子(animation、rotate):錘子砸下去后錘子會復(fù)位

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秒內(nèi),把動畫效果分兩步,第一步旋轉(zhuǎn)到-135度,第二步就是旋轉(zhuǎn)回0度.其中的-o-,-webkit-,-moz-就是為了兼容.

搭配Javascript Begin

我不知道剛接觸的人會怎么想Javascript 和 CSS3 的關(guān)系,我最開始的時候還以為JS能控制CSS3的動畫行為呢,現(xiàn)在我感覺JS只能通過控制元素的Class的attr( )或者removeclass( ),來完成我們想要的CSS3的一系列動畫行為. (可能我現(xiàn)在還理解不夠深,有誰理解的,麻煩給我科普科普)

移動端和PC端分別對應(yīng)兩個事件:Touch事件和Click事件,Touch事件如下:

var EggTouch = function (){console.log("Hi")};
document.getElementById("LuckEgg").addEventListener("touchstart", EggTouch, false);

但是Canvas層產(chǎn)生的圖片,了解過的人都知道需要用JS去生成圖像

// 1.加載蛋的圖片
var EggCanvas = document.getElementById("LuckEgg");
var EggContext = EggCanvas.getContext("2d");
var EggImg = new Image();

EggImg.src = "./egg.png";

// 特別注意 - 要圖片加載完才會出現(xiàn)圖片
EggImg.onload = function () {

    // 還要在這里判斷屏幕大小 --- 用于確定生成的蛋的位置和大小
    EggContext.drawImage(EggImg, 30, 20, 240, 120);
};

Tip:

每一次JS控制帶有自動執(zhí)行的動畫效果的元素,使其display:block,就會自動執(zhí)行動畫效果;

使用setTimeout( )來完成某些效果,比如我的Boom效果爆炸持續(xù)時間是0.5秒,那么我就要在Boom后0.5秒再去執(zhí)行其他函數(shù).,這樣就能得到我們想要的效果.

制作Canvas層(1/1)Over
搭配Javascript(1/1)Over

搭配PHP控制器 Begin

如果你們跟我一樣同時使用了Touch和Click這兩個事件,那么可能會出現(xiàn)在瀏覽器測試的時候,鼠標(biāo)點擊模擬手機狀態(tài)下的touch行為,就會有兩次POST傳到后臺,這就可能出現(xiàn)客戶投訴說:我砸蛋砸了一次,怎么次數(shù)就沒了.之類的話語.所以在后臺我會用redis做一個很簡單的鎖,防止上面的情況的發(fā)生.

/** 防止touch 和 click 同時觸發(fā) */
        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)

完成任務(wù)(1/1)

到此,任務(wù)也就做完了,其中一些比如什么字體大小,怎么查數(shù)據(jù)庫,怎么控制JS的一些業(yè)務(wù)細(xì)節(jié)我就不多說了.
畢竟我也只是第一次寫博客,文中有什么錯誤,或者思路有問題,還希望各位看客能指點指點.

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/115016.html

相關(guān)文章

  • 方方打怪升級日記初識HTML5CSS3

    摘要:任務(wù)名稱響應(yīng)式砸蛋頁面任務(wù)背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應(yīng)式砸蛋頁面吧系統(tǒng)鄭方方接下前輩的任務(wù)鄭方方自動解析任務(wù)步驟任務(wù)響應(yīng)式砸蛋頁面與入門閱讀秘籍響應(yīng)式布局制作層搭配搭配控制器完成任務(wù)人物背 任務(wù)名稱:響應(yīng)式砸蛋頁面 任務(wù)背景 前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應(yīng)式砸蛋頁面吧? 系統(tǒng):鄭方方接下前...

    spademan 評論0 收藏0
  • 方方打怪升級日記初識HTML5CSS3

    摘要:任務(wù)名稱響應(yīng)式砸蛋頁面任務(wù)背景前輩方方啊最近項目也沒什么事情你看這個砸蛋頁面不是很好看要不你做一個響應(yīng)式砸蛋頁面吧系統(tǒng)鄭方方接下前輩的任務(wù)鄭方方自動解析任務(wù)步驟任務(wù)響應(yīng)式砸蛋頁面與入門閱讀秘籍響應(yīng)式布局制作層搭配搭配控制器完成任務(wù)人物背 任務(wù)名稱:響應(yīng)式砸蛋頁面 任務(wù)背景 前輩:方方啊,最近項目也沒什么事情,你看這個砸蛋頁面不是很好看,要不你做一個響應(yīng)式砸蛋頁面吧? 系統(tǒng):鄭方方接下前...

    jemygraw 評論0 收藏0
  • 【連載】前端個人文章整理-從基礎(chǔ)到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<