微信場景製作教程

来源:http://www.cnblogs.com/web10000/archive/2017/06/23/7069779.html
-Advertisement-
Play Games

微信是目前最流行的社交軟體,每逢節假日,很多人都會在朋友圈分享自己的照片,有的人更是把照片做成了相冊,圖片的切換還伴隨有音樂,這個就是微信場景。 ...


微信是目前最流行的社交軟體,每逢節假日,很多人都會在朋友圈分享自己的照片,有的人更是把照片做成了相冊,圖片的切換還伴隨有音樂,這個就是微信場景。

接下來就帶領大家做一個微信場景。

備註:通過本套教程的學習,能夠學到觸摸事件的使用,多點觸摸技術,手勢事件滑動方向判斷的演算法,CSS3動畫調用,文字動畫(動畫全部自定義),音樂的播放和控制,CSS3動畫的控制,網路字體的使用,js操作DOM等知識。大家學習過程中遇到任何問題可以加我QQ:1416759661.

大致步驟如下:

 

001、效果預覽

002、創建項目

003、mete屬性和徑向漸變

004、添加圖片

005、定點陣圖片

006、監聽觸摸開始事件

007、監聽觸摸結束事件

008、滑動方向判斷

009、上滑切換圖片

010、添加過渡動畫效果

011、調用動畫和重置屬性

012、下滑切換圖片

013、添加3d旋轉效果

014、添加文字效果

015、文字移動移動

016、文字樣式重置

017、文字旋轉效果

018、下滑文字效果

019、圓形音樂控制按鈕

020、按鈕旋轉動畫

021、停止旋轉動畫

022、控制音樂的播放與停止

023、自動調用動畫切換效果

 

先體驗下製作好的效果,使用微信掃描下麵的二維碼就可以看到效果。

也可以點擊下麵的鏈接查看效果,由於是國外的伺服器,可能比較慢。

https://1416759661.github.io/changjing/

05.png

 

01.png

02.png

03.png

04.png

 

詳細代碼:

 

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta http-equiv="Pragma" contect="no-cache">
        <meta http-equiv="Cache-Control" contect="no-cache">
        <meta http-equiv="Expires" contect="0">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <meta name="renderer" content="webkit">
        <title></title>
        <style type="text/css">
            
            @font-face {
                font-family:yyjcwfont;
                src:url(font/hand.ttf);
            }
            
            @-webkit-keyframes musicrotate {
                from {
                    -webkit-transform: rotate(0);
                }
                to {
                    -webkit-transform: rotate(360deg);
                }
            }
            
            @keyframes dhfadein {
                from {
                    width: 1%;
                    height: 1%;
                    display: block;
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    opacity: 0.5;
                    z-index: 1;
                }
                to {
                    width: 100%;
                    height: 100%;
                    top: 0;
                    left: 0;
                    opacity: 1;
                    transform: rotate(720deg) rotateY(360deg);
                    z-index: 100;
                }
            }
            
            
            @keyframes dhfadein-p1 {
                from {
                    width: 1%;
                    height: 1%;
                    left:-100%;
                    top:-100%;
                    position: absolute;
                    bottom: 0;
                    opacity: 0;
                }
                to {
                    width: 100%;
                    left:10%;
                    top:50%;
                    font-size:3rem;
                    opacity:1;
                    color: #1477E2;
                    transform: rotateX(360deg) rotateY(720deg);
                    text-shadow: 0 -5px 4px #FF3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;   
                    z-index: 100;
                }
            }
            
            @keyframes dhfadein-p2 {
                from {
                    width: 1%;
                    height: 1%;
                    left:200%;
                    position: absolute;
                    bottom: 0;
                    opacity: 0;
                }
                to {
                    width: 100%;
                    left:10%;
                    top:60%;
                    font-size:3rem;
                    opacity:1;
                    color: #1477E2;
                    transform: rotateX(360deg) rotateY(720deg);
                    text-shadow: 0 -5px 4px #FF3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;   
                    z-index: 100;
                }
            }
            
            @keyframes dhfadein-p3 {
                from {
                    width: 1%;
                    height: 1%;
                    left:-100%;
                    position: absolute;
                    bottom: 0;
                    opacity: 0;
                }
                to {
                    width: 100%;
                    left:10%;
                    top:70%;
                    font-size:3rem;
                    opacity:1;
                    color: #1477E2;
                    /*transform: rotateX(360deg) rotateY(720deg);*/
                    text-shadow: 0 -5px 4px #FF3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;   
                    z-index: 100;
                }
            }
            
            @keyframes dhfadein-p4 {
                from {
                    width: 1%;
                    height: 1%;
                    left:200%;
                    top:90%;
                    position: absolute;
                    bottom: 0;
                    opacity: 0;
                }
                to {
                    width: 100%;
                    left:10%;
                    top:80%;
                    font-size:3rem;
                    opacity:1;
                    color: #1477E2;
                    /*transform: rotateX(360deg) rotateY(720deg);*/
                    text-shadow: 0 -5px 4px #FF3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;   
                    z-index: 100;
                }
            }    
            
            @keyframes dhfadein-p5 {
                from {
                    width: 1%;
                    height: 1%;
                    left:50%;
                    bottom:-100%;
                    position: absolute;
                    bottom: 0;
                    opacity: 0;
                }
                to {
                    width:10%;
                    left:80%;
                    top:10%;
                    font-size:3rem;
                    opacity:1;
                    color: #1477E2;
                    /*transform: rotateX(360deg) rotateY(720deg);*/
                    text-shadow: 0 -5px 4px #FF3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;   
                    z-index: 100;
                }
            }    
            
            
            
            
            
            
            * {
                margin: 0;
                padding: 0;
            }
            
            html,
            body {
                width: 100%;
                height: 100%;
            }
            
            ul {
                width: 100%;
                height: 100%;
                list-style: none;
                overflow: hidden;
                position: relative;
                background:radial-gradient(white,#FC7D08);
                display: none;
            }
            
            ul li {
                width: 1%;
                height: 1%;
                display: block;
                position: absolute;
                top: 50%;
                left: 50%;
                opacity: 0.5;
                /*    animation: dhfadein 3s 1 forwards;*/
            }
            
            ul li img {
                width: 100%;
                height: 100%;
                display: block;
                margin: 0 auto;
                opacity: 1;
            }
            
            p{
                font-family: yyjcwfont;
            }
            
            ul li p.text1 {
                width: 1%;
                height: 1%;
                left:-100%;
                top:-100%;
                position: absolute;
                bottom: 0;
                opacity: 0;
            }
            ul li p.text2 {
                width: 1%;
                height: 1%;
                left:200%;
                position: absolute;
                bottom: 0;
                opacity: 0;
            }
            ul li p.text3 {
                width: 1%;
                height: 1%;
                left:-100%;
                position: absolute;
                bottom: 0;
                opacity: 0;
            }
            ul li p.text4 {
                width: 1%;
                height: 1%;
                left:200%;
                top:90%;
                position: absolute;
                bottom: 0;
                opacity: 0;
            }
            ul li p.text5 {
                width: 1%;
                height: 1%;
                left:50%;
                bottom:-100%;
                position: absolute;
                bottom: 0;
                opacity: 0;
            }
            
            .musicbox {
                background-image: url(images/m.jpg);
                background-position: 0 0;
                width:38px;
                height:38px;
                overflow: hidden;
                background-repeat: no-repeat;
                background-size: contain;
                border-radius:19px;
                position: absolute;
                z-index: 102;
                top: 10px;
                right:10px;
                cursor: pointer;
                animation:musicrotate 1s linear infinite;
                box-shadow: 0 0 15px 2px blue;
            }
            
            div.closeroate{
                animation-play-state: paused;
            }
            
            .loding{
                position: absolute;
                left: 0;
                top: 0;
                line-height: 30px;
                padding: 10px;
                color:green;
            }
        </style>
    </head>
    <body id="mybox">
        <div class="loding">載入中<img src="images/wait.gif"></div>
        <ul>
            <li>
                <img src="images/01.png" />
                <p class="text1">兩情若是久長時,</p>
                <p class="text2"&g

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • html +css 靜態頁面 js 動態 交互 原理: js就是修改樣式, 比如彈出一個對話框. 彈出的過程就是這個框由disable 變成display:enable. 又或者當滑鼠指向的時候換一個顏色,就是一個修改樣式的工具. 編寫JS的流程 佈局:HTML+CSS 事件:確定用戶做哪些操作(產... ...
  • windows系統中,本地向自身發送數據包沒有經過真實的網路介面,而是通過環路(loopback interface)介面發送,所以使用基於只能從真實網路介面中抓數據的winpcap是無法抓取本地數據包,需要使用npcap,npcap是基於winpcap 4.1.3開發的,api相容WinPcap, ...
  • jQuery Validate jQuery Validate 插件為表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定製選項,滿足應用程式各種需求。 1.首先,如果我們沒有jquery.validata.js那就需要下載了。 點擊神賜下載鏈接 2.創建運行環境,也就是引入我們 ...
  • 前提:調用微信jssdk分享功能,通過微信開發者工具調試,調用正常,無任何報錯信息。 問題:調用成功,且開發者工具正常顯示,但是通過真機調試,分享出去後,自定義內容失效,為微信自動獲取的預設內容!截止發稿日:IOS端一切正常(可能IOS端規則還沒有變),Android端分享操作正常,自定義內容失效。 ...
  • 很多時候多會被正則表達式搞的暈頭轉向,最近抽出時間對正則表達式進行了系統的學習,整理如下: 正則表達式的創建 兩種方法,一種是直接寫,由包含在斜杠之間的模式組成;另一種是調用RegExp對象的構造函數。 兩種方法的創建代碼如下: 可以看出,調用RegExp構造函數創建正則表達式時,第一個參數可以是字 ...
  • 許久沒有寫博客了,最近有個H5啟動APP原生頁面的需求,中間遇上一些坑,看了些網上的實現方案,特意來總結下 一、需要判斷客戶端的平臺以及是否在微信瀏覽器中訪問 1、客戶端判斷 在啟動APP時,Android和IOS系統處理的方式是不一樣的,Android這邊由於開放,可以在瀏覽器中通過<a>標簽以及 ...
  • 我們昨天說了關於Angular的選項卡,那今天就說一下Swiper的選項卡吧! 今天的選項卡是Zepto結合Swiper的選項卡,咱麽明天再說純純的Swiper的吧! 既然是關於Zepto和Swiper的選項卡,那就說明瞭!要有關於Swiper和Zepto的插件, 分別是這兩個: zepto.min ...
  • 這個對象,不是那個對象。續更第二篇。。 昨天說了對象的基本概念以及創建,今天來說一下它的其他方法: 1、訪問屬性的兩種方式:點語法、[]語法 點語法和 [ ]語法都可以訪問到對象的屬性,但是也存在區別: 1.點語法主要符合變數命名規則; 2.[ ]語法可以使用變數; 3.[ ]語法可以使用無效的js ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...