午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > canvas 實現 github404動態效果的示例代碼

canvas 實現 github404動態效果的示例代碼

熱門標簽:江蘇智能電銷機器人哪家好 成都智能外呼系統平臺 當涂高德地圖標注 鎮江智能外呼系統有效果嗎 電銷機器人電話用什么卡 云南大理400電話申請官方 黃島區地圖標注 南寧點撥外呼系統哪家公司做的好 四川點撥外呼系統

前幾天使用css樣式和js致敬了一下github404的類似界面,同時最近又接觸了canvas,本著瞎折騰的想法,便借著之前的js的算法,使用canvas來完成了github404的動態效果。

效果圖

文件目錄

文件資源

文件源碼與圖片在文章末尾給出

代碼

網頁的body部分

這里給canvas 定義好寬和高,設為塊級元素。這些img 標簽是將這些圖片加載出來,我們就不用在js中去加載了,再將圖片設為不顯示 display:none。

<body>
    <canvas id="mycanvas" width="1680" height="630"
        style="margin:0;display:block">
            您的瀏覽器不支持canvas
    </canvas>
    <img src="./images/field.png" style="display:none">
    <img src="./images/text.png" style="display:none">
    <img src="./images/cat.png" style="display:none">
    <img src="./images/cat_shadow.png" style="display:none">
    <img src="./images/speeder.png" style="display:none">                        
    <img src="./images/speeder_shadow.png" style="display:none">            
    <img src="./images/buliding_1.png" style="display:none">
    <img src="./images/building_2.png" style="display:none">  
 </body>

js部分

1.這里我還是新建了一個名為github404的json對象,以對所有的參數和方法進行封裝

2.再創建imgData的對象,將所有的img所需的參數傳入ps:top和left用于 drawImage() 方法時定位, scale 參數用于計算鼠標移動時對應的圖片移動的計算

3.init()方法用來初始化,是與外部的接口

4.畫圖方法的實現就是用 for in 循環遍歷 imgData[],再依次賦值,最后用drawImage()方法繪畫,只是在移動的繪圖方法中,需要注意使用了ctx.clearRect() 方法先將畫布清空。

<script>
        var github404 = {
            imgData: {//將所有圖片的信息用json對象記錄
                bg: {
                    top: 0,
                    left: 110,//top和left用于定位,在畫圖時使用
                    src: './images/field.png',//對應圖片路徑
                    scale: 0.06,//鼠標移動時,該圖片所對應移動的比例
                },
                building_2: {
                    top: 133,
                    left: 1182,
                    src: './images/building_2.png',
                    scale: 0.05,
                },
                building_1: {
                    top: 79,
                    left: 884,
                    src: './images/buliding_1.png',
                    scale: 0.03,
                },
                speeder_shadow: {
                    top: 261,
                    left: 776,
                    src: './images/speeder_shadow.png',
                    scale: 0.01,
                },
                cat_shadow: {
                    top: 288,
                    left: 667,
                    src: './images/cat_shadow.png',
                    scale: 0.02,
                },
                speeder: {
                    top: 146,
                    left: 777,
                    src: './images/speeder.png',
                    scale: 0.01,
                },
                cat: {
                    top: 88,
                    left: 656,
                    src: './images/cat.png',
                    scale: 0.05,
                },
                text: {
                    top: 70,
                    left: 364,
                    src: './images/text.png',
                    scale: 0.03,
                },
            },
            rate_w: 0,
            rate_h: 0,//偏移的比例
            field_width: 1680,
            field_height: 370,//背景高度和寬度
            canvas: document.querySelector('#mycanvas'),//獲得canvas元素

            init: function() {//初始化加載方法
                this.setRateWH();
                this.placeImg();
                this.attachMouseEvent();
            },
            setRateWH: function() {//計算偏移比的方法
                var window_width = document.body.clientWidth;
                var window_height = document.body.clientHeight;
                this.rate_w = this.field_width/window_width;
                this.rate_h = this.field_height/window_height;
            },

            placeImg: function() {//初始化的繪圖方法
                let ctx = this.canvas.getContext('2d');//獲得畫筆
                for(key in this.imgData){//遍歷imageData 對象
                    var image = new Image();
                    var left = this.imgData[key].left;
                    var top = this.imgData[key].top;    
                    image.src = this.imgData[key].src;
                    ctx.drawImage(image,left,top,
                        image.width,image.height);
                }

            },

            attachMouseEvent: function() {
                var that = this;
                document.body.onmousemove = function(e){
                    that.picMove(e.pageX,e.pageY);
                }
            },
            picMove: function(pageX,pageY) {//鼠標移動時重新畫圖的方法
                let ctx = this.canvas.getContext('2d');
                ctx.clearRect(0,0,this.canvas.width,this.canvas.height);
                for(key in this.imgData) {
                    var image = new Image();
                    var offer_w = this.rate_w * pageX * this.imgData[key].scale;
                var offer_h = this.rate_h * pageY * this.imgData[key].scale;
                    //定義 left和top,下面畫圖時給參數定位
                    var left = this.field_width/100 - offer_w + this.imgData[key].left; 
                    var top = this.field_height/100 - offer_h + this.imgData[key].top;
                    image.src = this.imgData[key].src;
                    ctx.drawImage(image,left,top,
                        image.width,image.height);
                }
            }
        }

        window.onload = function() {
            //只調用github404的init方法 封裝了數據
            github404.init();
        }
    </script>

總結

此次使用canvas來完成這個動態效果,使我更多的了解了canvas的用法。同時使我

對于使用json對象去封裝數據和方法,如何組織代碼都有了更深的一些了解。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:西寧 佳木斯 淮安 酒泉 十堰 廣西 南京 咸寧

巨人網絡通訊聲明:本文標題《canvas 實現 github404動態效果的示例代碼》,本文關鍵詞  canvas,實現,github404,動態,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《canvas 實現 github404動態效果的示例代碼》相關的同類信息!
  • 本頁收集關于canvas 實現 github404動態效果的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    亚洲综合视频在线| 亚洲欧美国产日韩中文字幕| 一本久久精品一区二区| 欧美日韩国产精品一区二区三区四区 | 日韩小视频在线观看| 国产精品一区二区av白丝下载 | 亚洲六月丁香色婷婷综合久久| 国产亚洲欧美激情| 91蜜桃网址入口| 国产精品色哟哟| 黄色成人av网| 亚洲国产精品久久久久秋霞影院| 精品久久香蕉国产线看观看亚洲 | 欧美中日韩免费视频| 3d动漫精品啪啪一区二区竹菊| 日韩一区二区免费在线观看| 日韩成人网免费视频| 欧美日韩日本视频| 日韩成人在线播放| 久久人人爽国产| 国产日本欧美在线观看| 久久99精品久久久久久三级 | 无码人妻一区二区三区免费| 国产一区二区99| 国产区精品视频| 精品国产成人在线影院| 最近中文字幕2019免费| 7m第一福利500精品视频| 亚洲最大的免费| 亚洲高清资源综合久久精品| 国产午夜福利视频在线观看| 制服.丝袜.亚洲.中文.综合懂 | 成人精品一区二区三区四区| 中文字幕五月欧美| 亚洲一区免费视频| 国产无码精品在线播放| 涩涩日韩在线| 免费看a级黄色片| 国产亚洲无码精品| 91porn在线视频| 99久久精品免费看国产交换| 午夜影院在线视频| 男人操女人的视频在线观看欧美| 日本视频中文字幕一区二区三区| 国产精品免费免费| 富二代精品短视频| 在线成人午夜影院| 亚洲中文无码av在线| 中国特级黄色片| 亚洲专区区免费| 中文字幕电影av| 欧美 中文字幕| 国产精品国产三级国产三级人妇 | 丰满人妻一区二区三区53号| 国产成人av无码精品| 中文字幕免费观看视频| 免费高清在线一区| 精品成人久久av| 亚洲国产一区视频| 丝袜美腿玉足3d专区一区| 国产精品swag| 蜜臀av无码一区二区三区| 少妇愉情理伦片bd| 久久视频免费在线观看| 亚洲天堂中文在线| 亚洲av永久无码国产精品久久 | 97精品国产91久久久久久| 亚洲不卡av一区二区三区| 亚洲一区二区视频在线观看| 欧美mv日韩mv国产网站app| 国内精品久久久久久影视8| 91麻豆精品秘密入口| 大j8黑人w巨大888a片| 日本人dh亚洲人ⅹxx| 国产精品夜夜夜爽阿娇| 久久久久国产精品一区二区| 91影院在线免费观看| 亚洲激情欧美激情| 久久久久久久久久久网 | 一个人看的www久久| 日韩免费观看网站| 日韩精品资源| 在线播放黄色av| 欧美成人精品一区二区免费看片| 亚洲一卡二卡在线观看| 国产综合色视频| 亚洲资源在线观看| 亚洲欧洲一区二区三区在线观看| 国产高清精品一区二区| 北条麻妃在线视频观看| 色一情一乱一乱一区91| 老司机精品福利在线观看| 欧美激情 国产精品| 国产午夜小视频| 97精品国产97久久久久久久久久久久| 狠狠干狠狠久久| 97欧美精品一区二区三区| 69堂免费视频| 99久久久国产精品无码网爆| 亚洲综合成人在线视频| 亚洲人成欧美中文字幕| 亚洲天堂av免费在线观看| 欧美成人一区二区三区高清| 久久影院午夜片一区| 久久亚洲一区二区三区四区五区高| 欧美福利视频一区| 欧美三级乱人伦电影| 成人免费福利在线| 亚洲av网址在线| 久久av资源网| 欧美日韩日日骚| 国产精品一区二区三区不卡| 日本r级电影在线观看| www.国产精品视频| 欧美日韩国产综合一区二区| 国产精品国色综合久久| 国产日产在线观看| 国产精品丝袜黑色高跟| 亚洲激情自拍视频| 国产精品福利一区| 亚洲视频在线观看| 日本成人黄色免费看| 影音先锋制服丝袜| 国产校园另类小说区| 欧美精品18videosex性欧美| 18禁免费无码无遮挡不卡网站| 国产伦精品一区二区三区四区| 亚洲美女在线国产| 久久久女人电视剧免费播放下载 | 日韩精品一区二区不卡| 亚洲免费在线视频一区 二区| 久久婷五月综合| 日本国产在线观看| 欧美二区三区91| 影音先锋成人资源网站| 北条麻妃一二三区| 日韩电影在线观看中文字幕 | 亚洲精品一区二三区| 欧美日韩精品福利| 美国av一区二区三区| 成人黄色免费网| 色吊一区二区三区| 日韩成人免费看| 日韩欧美国产免费| 国产成人自拍视频在线| 亚洲国产另类av| 动漫精品视频| 国产免费av一区| 性久久久久久久| 蜜桃免费一区二区三区| 国产微拍精品一区| 亚洲综合在线视频| 日韩精品在线视频| 久久综合久久美利坚合众国| 国产精品专区在线| 秋霞电影网一区二区| 欧美激情亚洲一区| 影音先锋制服丝袜| 色综合久久综合| 欧美极品欧美精品欧美| 97久久久精品综合88久久| 亚洲一区二区中文| 最新中文字幕第一页| 亚洲精品色婷婷福利天堂| 成年人晚上看的视频| 欧美激情综合色| 久久久黄色大片| 亚洲第一精品夜夜躁人人躁| 91香蕉亚洲精品| 日本视频一区二区在线观看| 国产精品福利在线观看| 亚洲精品一区中文字幕乱码| 欧美亚洲色图视频| 日韩精品欧美精品| 另类色图亚洲色图| 亚洲精品国产熟女久久久| 亚洲综合在线视频| 亚洲欧美成人一区| 亚洲人视频在线观看| 欧美激情综合色综合啪啪五月| 一级片久久久久| 色综合婷婷久久| 一区二区av| 污视频网站免费观看| 欧美一区二三区| 国产精品熟女视频| 亚洲欧美在线第一页| 亚洲 高清 成人 动漫| 狂野欧美性猛交xxxx巴西| 一区二区三区视频免费| 成人一级片免费看| 26uuu精品一区二区在线观看| 久久国产精品一区二区三区四区| 不卡免费追剧大全电视剧网站| 91久久久久久久久| 日本特黄在线观看| 综合精品久久久| 伊人久久婷婷色综合98网| 日本视频中文字幕一区二区三区| 欧美极度另类性三渗透| 五月天丁香激情| 精品福利一区二区三区免费视频| 免费看三级黄色片| 亚洲国产日韩a在线播放| 午夜免费福利小电影| 久久蜜桃一区二区| av动漫在线播放| 国产日韩欧美综合一区| 麻豆传媒网站在线观看| www成人在线观看| 成人短视频在线观看免费| 国产一区二区三区免费观看| www.久久草| 人人精品人人爱| 成人午夜影院在线观看| 午夜在线视频免费| 国产专区欧美专区| 丝袜诱惑亚洲看片| 国产精品劲爆视频| 蜜桃91丨九色丨蝌蚪91桃色| 97人人澡人人爽| 麻豆成人免费电影| 免费av在线一区二区| 成人免费看视频| 国产激情在线看| 亚洲欧美在线高清| 在线观看免费av网址| 四虎永久免费在线观看| 欧美国产成人在线| 国产内射老熟女aaaa| 国产欧美精品日韩区二区麻豆天美| 亚洲色图都市激情| 17c精品麻豆一区二区免费| 少妇人妻互换不带套| 亚洲一区二区欧美激情| 日本wwww色| 欧美一区二区日韩| 亚洲国产精品免费在线观看| 久久久国产精品视频| 中文永久免费观看| 超碰97国产在线| 久久精品亚洲国产奇米99| 成 人 黄 色 小说网站 s色| 亚洲成av人片观看| 欧美精品videos另类日本| 亚洲成av人片观看| 黄色一级片在线看| 日韩欧美你懂的| 精品人妻av一区二区三区| 国产精品成人一区二区三区吃奶| 爽爽淫人综合网网站| 久久人妻无码一区二区| 欧美视频在线不卡| 一级片aaaa| 亚洲精品一区二区三| 91黄色免费网站| 中文字幕激情小说| 精品一卡二卡三卡四卡日本乱码| 亚洲精品国产a久久久久久| 国产高清视频免费在线观看| 国产精品高潮粉嫩av| 国产欧美日韩另类一区| 亚洲天堂最新地址| 91精品久久久久久久久青青| 亚洲日韩欧美一区二区在线| youjizz亚洲女人| 成人免费视频a| 亚洲另类一区二区| 亚洲国产综合久久| 欧美日韩国产综合视频在线| 在线观看日韩精品| 丁香激情综合国产| 天天做天天爱夜夜爽| 亚洲制服在线观看| 亚洲淫片在线视频| 亚洲欧美国内爽妇网| 亚洲视频网在线直播| 国产精品人人爽| 欧美污视频网站| 久久在线免费视频| 久久久蜜桃精品| 日韩精品123区| 免费不卡亚洲欧美| 精品中文字幕久久久久久| 久久99热99| 日本一二区免费| 欧美一区二区三区精品电影| 国产精品福利一区| 日韩大片免费在线观看| 麻豆精品传媒视频| 欧美日韩视频不卡| 午夜国产在线观看| 成年人小视频网站| 国产一区二区三区三区在线观看| 懂色av一区二区在线播放| 男人的天堂官网| 国内视频一区| 日韩欧美aaaaaa| 天天色综合久久| 久久人妻少妇嫩草av蜜桃| 成人黄色av播放免费| 欧美群妇大交群的观看方式| 国产丝袜视频在线观看| 亚欧美在线观看| 欧美亚洲国产视频| 狠狠躁18三区二区一区| 少妇一区二区三区四区| 免费的av网站| 高清av免费一区中文字幕| 亚洲精品写真福利| av免费在线不卡| 国产精品1000部啪视频| 91国产在线播放| 精品一区二区电影| 久久嫩草精品久久久久| 久草中文在线视频| 国产人妻互换一区二区| 日韩亚洲第一页| 亚洲va国产va欧美va观看| 日韩一区二区三区不卡| 手机免费看av| 精品嫩模一区二区三区| 国产99久久精品一区二区 夜夜躁日日躁| 色综合久久综合网97色综合| 亚洲av成人无码网天堂| 免费观看av网站| 一区二区三区视频| 欧美伦理91i| 欧美高清视频在线高清观看mv色露露十八 | 99精品热视频| 国产色片在线观看| 天天色综合天天色| 日本一区免费在线观看| 69久久夜色精品国产69| 亚洲第一福利视频| 亚洲婷婷综合色高清在线| 日韩精品一区第一页| 亚洲欧美另类在线视频| 色欲av无码一区二区三区| 成人观看免费完整观看| 日韩欧美亚洲区| 91a在线视频| 亚洲精品天天看| 亚洲成人你懂的| 91在线观看地址| 男女男精品视频| 永久免费无码av网站在线观看| 尤物视频最新网址| 国内自拍在线观看| www.亚洲成人网| 在线免费观看视频黄| 日本成人在线免费| 免费看污片网站| 久草热视频在线观看| 欧美日韩国产一二| 成人久久久久久久| 成人av资源网| 超碰97在线人人| 成人精品久久av网站| 青青在线视频一区二区三区| 久久久久亚洲精品| 久久亚洲国产成人| 欧美v日韩v国产v| 欧美一区二区在线免费观看| 国产亚洲欧洲一区高清在线观看| 蜜桃一区二区三区在线观看| 日韩电影在线一区二区三区| 免费看毛片网站| √天堂中文官网8在线| 丝袜美腿中文字幕| www.黄色网| 国产chinesehd精品露脸| 中文精品无码中文字幕无码专区| 日韩精品在在线一区二区中文| 国产精品一区视频网站| 国产精品中文字幕久久久| 91po在线观看91精品国产性色| 亚洲视频在线播放| 亚洲成人av片在线观看| 色综合久久久久| 午夜精品视频一区| 综合av第一页| 中文av一区特黄| 国产精品九色蝌蚪自拍| 亚洲精品中文在线| 中文字幕视频一区二区三区久| 99久久精品免费看| 久久日一线二线三线suv| 久久久蜜桃精品| 中文字幕一区二区三中文字幕| 成人av电影在线播放| 免费xxxx性欧美18vr| 玖玖视频精品| 亚洲av少妇一区二区在线观看| 日本免费一区视频| 亚洲国产综合网| 91免费视频播放| 日韩电影在线观看电影| 久久色.com| 欧美性猛交xxxx| 午夜精品在线看| 在线视频观看一区| 欧美日韩精品一区二区在线播放| 欧美午夜一区二区三区| 91精品国产乱| 亚洲欧美一区二区三区四区| 亚洲色无码播放| 国内精品久久久久影院 日本资源| 久国内精品在线| 国产成人免费av|