国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Step2.序列幀動(dòng)畫
Step3.添加動(dòng)畫控制
首頁 web前端 html教學(xué) 揭秘騰訊burberry活動(dòng)頁面中的特效_html/css_WEB-ITnose

揭秘騰訊burberry活動(dòng)頁面中的特效_html/css_WEB-ITnose

Jun 24, 2016 pm 12:02 PM
揭秘 活動(dòng) 特效 騰訊

4月24日,Burberry亞太地區(qū)規(guī)模最大的旗艦店在上海開幕。Burberry突破性地運(yùn)用了諸多創(chuàng)新的數(shù)字營銷模式,借助與騰訊的合作,為更多未能到場(chǎng)的用戶創(chuàng)造了一個(gè)“平行的體驗(yàn)”,也正式開啟了Burberry的創(chuàng)新數(shù)字營銷之旅。

騰訊的營銷頁面:?

其中多次用到了類似于云霧褪去的效果,如下圖。

我對(duì)這種神奇的特效產(chǎn)生的極大的興趣,于是通過chrome的審查元素里面Resources找到下面這張圖片(由于圖片是白色的png,為了讓大家看清楚我將背景調(diào)成了黑色)。

于是效果的實(shí)現(xiàn)方式就顯而易見了,是利用css3的-webkit-mask來實(shí)現(xiàn)的。

####Step1.為背景加上蒙板 ?

    <div class="stage">        <div class="sprite1"></div>    </div>
.stage{    width: 320px;    height: 480px;    position: absolute;    left: 50%;    top: 50%;    margin-top:-240px;    margin-left:-160px;    background: url('./img/bg.jpg') no-repeat;    background-size: auto 100%;}.stage .sprite1{    width: 100%;    height: 100%;    background: url('./img/bg2.jpg') no-repeat;    background-size: auto 100%;    -webkit-mask:url('./img/Touch1.png') no-repeat;    -webkit-mask-size: 100% 100%;}

這里為了在桌面瀏覽器中觀看方便,將畫面大小調(diào)整成了320*480并居中。在 sprite1中添加 background的同時(shí)也增加了蒙板。

-webkit-mask:url('./img/Touch1.png') no-repeat;-webkit-mask-size: 100% 100%;

我們這里將蒙板的大小設(shè)置為100%來觀察蒙板的效果。圖中畫圈圈的地方就是sprite1透過蒙板展示出來的部分。

我們看到這個(gè)蒙板Touch1.png應(yīng)該是一個(gè)序列幀組成的圖片,我們只需要將其一幀幀的顯示出來就可以實(shí)現(xiàn)動(dòng)畫了。
點(diǎn)擊查看歷史代碼

Step2.序列幀動(dòng)畫

.stage .sprite1{    ......    -webkit-mask-size: 400% 300%;    -webkit-mask-position: 0% 0%;}

Touch1.png 是序列幀的整合圖片,其中一排有4幀一共有3排,所以我們將 -webkit-mask-size 設(shè)為 400% 300% 。將 -webkit-mask-postion 設(shè)為 0% 0% 表示從第一幀開始。做動(dòng)畫時(shí)只需要依次修改 -webkit-mask-position 的x與y值,每次將x增加25%(100/每排的幀數(shù)4)直到75%,y增加33.33%(100/每牌的幀數(shù)3)直到66.66%。我們需要將每一幀的position狀態(tài)在不同的時(shí)間賦給sprite1,這只需要用 setTimeout 就可以了。

我們新建一個(gè)spriteClip類,并傳入(dom,w,h,time)四個(gè)參數(shù),其中dom用來定位sprite1這個(gè)元素,w為一排有幾幀,h為一共有幾行,time為每一幀之間的間隔。

function spriteClip(dom,w,h,time){    if(dom){        this.dom = dom;        this.w = w ||0;        this.h = h ||0;        this.time = time || 0;    }else{        return false;    }}

新建run方法。遍歷w與h算出時(shí)間與位置,用setTimeout設(shè)置好延時(shí)執(zhí)行

spriteClip.prototype.run = function(){    for(var w=0;w<this.w for h="0;h<this.h;h++){" var time="(h*self.time*self.w+w*self.time);" settimeout self.dom.style.webkitmaskposition="(100/(self.w-1))*w+'%">  <br>  <br>  <p></p>  <p> 新建并運(yùn)行spriteClip。</p>  <p> </p>  <pre name="code" class="sycode">var sprite1 = document.querySelector('.sprite1');var sp1 = new spriteClip(sprite1,4,3,50);sp1.run();


運(yùn)行代碼:

點(diǎn)擊查看歷史代碼

Step3.添加動(dòng)畫控制

有了sprite1后,再添加3個(gè)sprite,將所有的動(dòng)畫按照順序播放來形成完整的轉(zhuǎn)場(chǎng)。為了實(shí)現(xiàn)按照順序的播放,我們需要為動(dòng)畫添加播放控制。即在播放動(dòng)畫完成后給dom觸發(fā)一個(gè)finish事件,dom接到完成事件后執(zhí)行下一個(gè)動(dòng)畫。同時(shí)添加show和hide用來控制動(dòng)畫的顯示/隱藏。

function spriteClip(dom,w,h,time){    if(dom){        ......        //記錄dom初始的display狀態(tài)        this.display = this.dom.style.display;        //記錄動(dòng)畫是否播放過        this.played = false;    }else{        return false;    }}spriteClip.prototype.run = function(){    //如果動(dòng)畫已經(jīng)播放過則不做任何動(dòng)畫    if(this.played)        return false;    //標(biāo)記為已播放完成    this.played = true;    //讓dom顯示    this.show();    for(var w=0;w<this.w for h="0;h<this.h;h++){" var time="(h*self.time*self.w+w*self.time);" settimeout ...... if>= self.w-1 && h>=self.h-1){                        //動(dòng)畫結(jié)束                        var event = document.createEvent('HTMLEvents');                        event.initEvent('finish', true, true);                        event.eventType = 'message';                        event.content =  'finish';                        //觸發(fā)finish事件                        self.dom.dispatchEvent(event);                    }                },time);            })(w,h,this);        }    }}//隱藏domspriteClip.prototype.hide = function(){    this.dom.style.display = 'none';}//顯示domspriteClip.prototype.show = function(){    this.dom.style.display = this.display;}//接收finish時(shí)間并用callback函數(shù)處理spriteClip.prototype.finish = function(callback){    this.dom.addEventListener('finish',callback);}var sprite1 = document.querySelector('.sprite1');var sp1 = new spriteClip(sprite1,4,3,50);//在做動(dòng)畫之前讓sprite隱藏sp1.hide();document.addEventListener('touchend',function(){    //手指抬起后運(yùn)行動(dòng)畫    sp1.run();});document.addEventListener('click',function(){    //點(diǎn)擊后運(yùn)行動(dòng)畫    sp1.run();});sp1.finish(function(){    //動(dòng)畫完成    console.log('finish');});</this.w>


下面添加剩下的3個(gè)sprite。

.......stage .sprite2{    width: 100%;    height: 100%;    position: absolute;    left: 0px;    top: 0px;    background: url('./img/bg2.jpg') no-repeat;    background-size: auto 100%;    -webkit-mask:url('./img/Touch2.png') no-repeat;    -webkit-mask-size: 400% 300%;    -webkit-mask-position: 0% 0%;}.stage .sprite3{    width: 100%;    height: 100%;    position: absolute;    left: 0px;    top: 0px;    background: url('./img/bg2.jpg') no-repeat;    background-size: auto 100%;    -webkit-mask:url('./img/Touch3.png') no-repeat;    -webkit-mask-size: 400% 300%;    -webkit-mask-position: 0% 0%;}.stage .sprite4{    width: 100%;    height: 100%;    position: absolute;    left: 0px;    top: 0px;    background: url('./img/bg2.jpg') no-repeat;    background-size: auto 100%;    -webkit-mask:url('./img/Touch4.png') no-repeat;    /* Touch4是4*5 */    -webkit-mask-size: 400% 500%;    -webkit-mask-position: 0% 0%;}......<div class="stage">    <div class="sprite1"></div>    <div class="sprite2"></div>    <div class="sprite3"></div>    <div class="sprite4"></div>
</div>.....//新建4個(gè)spritevar sprite1 = document.querySelector('.sprite1');var sprite2 = document.querySelector('.sprite2');var sprite3 = document.querySelector('.sprite3');var sprite4 = document.querySelector('.sprite4');var sp1 = new spriteClip(sprite1,4,3,80);var sp2 = new spriteClip(sprite2,4,3,80);var sp3 = new spriteClip(sprite3,4,3,80);var sp4 = new spriteClip(sprite4,4,5,80);sp1.hide();sp2.hide();sp3.hide();sp4.hide();document.addEventListener('touchend',function(){    sp1.run();});document.addEventListener('click',function(){    sp1.run();});sp1.finish(function(){    //sprite1結(jié)束后運(yùn)行sprite2    sp2.run();});sp2.finish(function(){    //sprite2結(jié)束后運(yùn)行sprite3    sp3.run();});sp3.finish(function(){    //sprite3結(jié)束后運(yùn)行sprite4    sp4.run();})......


運(yùn)行代碼:


查看所有代碼請(qǐng)去Github

如有問題或者建議請(qǐng)微博@UED天機(jī)。我會(huì)及時(shí)回復(fù),也可以提供其他特效一起討論其實(shí)現(xiàn)方法。


本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

大模型App騰訊元寶上線!混元再升級(jí),打造可隨身攜帶的全能AI助理 大模型App騰訊元寶上線!混元再升級(jí),打造可隨身攜帶的全能AI助理 Jun 09, 2024 pm 10:38 PM

5月30日,騰訊宣布旗下混元大模型全面升級(jí),基於混元大模型的App「騰訊元寶」正式上線,蘋果及安卓應(yīng)用程式商店皆可下載。相較於先前測(cè)試階段的混元小程式版本,面向工作效率場(chǎng)景,騰訊元寶提供了AI搜尋、AI總結(jié)、AI寫作等核心能力;面向日常生活場(chǎng)景,元寶的玩法也更加豐富,提供了多個(gè)特色AI應(yīng)用,並新增了創(chuàng)建個(gè)人智能體等玩法。 「騰訊做大模型不爭一時(shí)之先?!跪v訊雲(yún)副總裁、騰訊混元大模型負(fù)責(zé)人劉煜宏表示:「過去的一年,我們持續(xù)推進(jìn)騰訊混元大模型的能力爬坡,在豐富、海量的業(yè)務(wù)場(chǎng)景中打磨技術(shù),同時(shí)洞察用戶的真實(shí)需求

王者榮耀共赴花期活動(dòng)攻略大全 王者榮耀共赴花期活動(dòng)攻略大全 Mar 24, 2024 pm 12:36 PM

王者榮耀開啟了共赴花期活動(dòng),玩家參與活動(dòng)可以免費(fèi)領(lǐng)取頭像框和超多好禮,活動(dòng)有時(shí)間限制,共為玩家提供了四個(gè)關(guān)卡,小編今天給大家?guī)砹斯哺盎ㄆ诨顒?dòng)攻略大全,希望能幫助大家完成關(guān)卡挑戰(zhàn)。王者榮耀共赴花期活動(dòng)攻略大全王者榮耀共赴花期活動(dòng)介紹活動(dòng)玩法:1、共赴花期是一個(gè)翻牌的活動(dòng),玩家需要透過翻牌來通關(guān)。 2、玩家在活動(dòng)期間完成任務(wù)獲得花露就能夠翻牌。 3.活動(dòng)面板中每四張通關(guān)卡連成一條線(包括橫線、垂直線和對(duì)角線)即可通過一個(gè)小關(guān)卡。 4.每通關(guān)一個(gè)關(guān)卡就能獲得對(duì)應(yīng)的獎(jiǎng)勵(lì),同時(shí)幫助好友翻牌也能獲得額外獎(jiǎng)勵(lì)。活

騰訊 2025 校招啟動(dòng):畢業(yè)時(shí)間從一年拓寬至兩年 騰訊 2025 校招啟動(dòng):畢業(yè)時(shí)間從一年拓寬至兩年 Aug 07, 2024 pm 08:17 PM

本站8月7日消息,昨日騰訊2025校園招募正式啟動(dòng),繼2024年實(shí)習(xí)生招募、「青雲(yún)計(jì)畫」AI大模型招募專案後再次發(fā)出「擴(kuò)招」訊號(hào):不僅招募規(guī)模相較前兩年有較大增長,面向人群的畢業(yè)時(shí)間範(fàn)圍也進(jìn)一步擴(kuò)大。據(jù)介紹,騰訊2025年校園招募開放技術(shù)、產(chǎn)品、市場(chǎng)、設(shè)計(jì)、職能5個(gè)大類70餘種職缺。今年的騰訊校園招募將有多處變化,校招面向人群的畢業(yè)時(shí)間範(fàn)圍從一年拓寬至兩年。畢業(yè)時(shí)間為2024年1月至2025年12月的同學(xué)(中國大陸/內(nèi)地以畢業(yè)證為準(zhǔn),中國港澳臺(tái)及海外地區(qū)以學(xué)位證為準(zhǔn))均可透過騰訊招聘官網(wǎng)及「騰訊

真我身世揭秘:究竟是OPPO的子品牌嗎? 真我身世揭秘:究竟是OPPO的子品牌嗎? Mar 23, 2024 pm 09:24 PM

「真我」身世揭秘:究竟是OPPO的子品牌嗎?隨著智慧型手機(jī)市場(chǎng)的不斷發(fā)展,各個(gè)手機(jī)品牌紛紛推出新款產(chǎn)品來滿足消費(fèi)者不斷變化的需求。其中,一款名為「真我」的手機(jī)品牌近年來備受關(guān)注,其高性價(jià)比和優(yōu)質(zhì)的用戶體驗(yàn)受到了許多消費(fèi)者的歡迎。然而,關(guān)於「真我」手機(jī)的身世和品牌背景,一直以來都籠罩著一層神秘的面紗。近日,有消息指出「真我」手機(jī)是OPPO的子品牌,這消息在手機(jī)圈

騰訊手遊《胡桃日記》復(fù)活,1.7萬人報(bào)名測(cè)試!預(yù)計(jì)三月中下旬正式開測(cè) 騰訊手遊《胡桃日記》復(fù)活,1.7萬人報(bào)名測(cè)試!預(yù)計(jì)三月中下旬正式開測(cè) Mar 12, 2024 pm 03:28 PM

近日,騰訊去年(2023年2月15日12點(diǎn)00分)停駛的《胡桃日記》宣布重啟,並開啟了二測(cè)招募。根據(jù)官方透露,2,000人的測(cè)試規(guī)模,報(bào)名了1w7多人,測(cè)試預(yù)計(jì)三月中下旬開啟。原版《胡桃日記》是由巨人網(wǎng)路開發(fā)、騰訊遊戲發(fā)行的一款美少女陪伴養(yǎng)成手遊,於2021年4月16日發(fā)布,臺(tái)服於2021年10月14日發(fā)布。號(hào)稱「玩家可與風(fēng)靡全網(wǎng)的表情包少女七瀨胡桃共同生活、一起種田,輕鬆養(yǎng)成你的胡桃」。但上線後《胡桃日記》收入狀況一直不佳,最終在2022年12月下架,2023年2月停駛。萌百顯示,本作主角七瀨

Up主已經(jīng)開始鬼畜,騰訊開源「AniPortrait」讓照片唱歌說話 Up主已經(jīng)開始鬼畜,騰訊開源「AniPortrait」讓照片唱歌說話 Apr 07, 2024 am 09:01 AM

AniPortrait模型是開源的,可以自由暢玩。 「小破站鬼畜區(qū)的新質(zhì)生產(chǎn)力工具?!菇眨v訊開源發(fā)布的一個(gè)新項(xiàng)目在推上獲得瞭如此評(píng)價(jià)。這個(gè)項(xiàng)目是AniPortrait,可基於音訊和一張參考圖像生成高品質(zhì)動(dòng)畫人像。話不說多,我們先看看可能會(huì)被律師函警告的demo:動(dòng)漫圖像也能輕鬆開口說話:該項(xiàng)目剛上線幾天,就已經(jīng)收穫了廣泛好評(píng):GitHubStar數(shù)已經(jīng)突破2800。下面我們就來看看AniPortrait的創(chuàng)新之處。論文標(biāo)題:AniPortrait:Audio-DrivenSynthesisof

《命運(yùn)方舟》日服今日正式停駛 騰訊代理的國服也會(huì)涼嗎? 《命運(yùn)方舟》日服今日正式停駛 騰訊代理的國服也會(huì)涼嗎? Mar 21, 2024 am 10:21 AM

於2020年9月在日本上線的MMORPG端遊《命運(yùn)方舟》,經(jīng)過近3年半的營運(yùn)時(shí)間,於今日正式關(guān)閉日本伺服器。但一直以來,韓遊和日遊幾乎就是完全不相容的兩個(gè)派系,口味風(fēng)格相差非常巨大(尤其是網(wǎng)遊),這也是一直以來韓國網(wǎng)遊都很難在日本站住腳跟的原因。 《命運(yùn)方舟》日服停駛也算是意料之中吧。那麼問題來了,騰訊代理的《命運(yùn)方舟》國服呢?首當(dāng)其衝的是廣大玩家最關(guān)心的人氣問題。就目前來看,現(xiàn)在玩《命運(yùn)方舟》的總共有三類人:土豪、普通玩家和搬磚黨。土豪不必多說了,任何遊戲的土豪玩起來都是比較爽的,《命運(yùn)方舟》

Go語言程式設(shè)計(jì)難度揭秘:實(shí)際上有多難? Go語言程式設(shè)計(jì)難度揭秘:實(shí)際上有多難? Mar 10, 2024 am 10:48 AM

Go語言程式設(shè)計(jì)難度揭秘:實(shí)際上有多難?近年來,隨著雲(yún)端運(yùn)算、大數(shù)據(jù)、人工智慧等技術(shù)的不斷發(fā)展,程式語言也不斷更新?lián)Q代。其中,作為近年來備受關(guān)注的程式語言,Go語言因其簡潔高效的特點(diǎn),在程式設(shè)計(jì)師圈中逐漸嶄露頭角。然而,對(duì)於許多初學(xué)者來說,Go語言的學(xué)習(xí)充滿了挑戰(zhàn)。那麼,Go語言究竟有多難?本文將結(jié)合具體的程式碼範(fàn)例,揭秘Go語言程式設(shè)計(jì)的難易度。 Go語言的優(yōu)勢(shì)和

See all articles