對(duì)于很多喜歡動(dòng)漫的程序員來說,想要在網(wǎng)頁中調(diào)出自己喜歡的卡通人物,是一件很有趣且實(shí)用的事情。而JavaScript正好可以幫助我們完成這個(gè)目標(biāo)。
可以先從最簡(jiǎn)單的例子入手,試著畫一只小黃人在網(wǎng)頁上出現(xiàn)。代碼如下:
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <style type="text/css"> .stuart { width: 30%; margin: 0 auto; animation: stuartRunning 2s linear infinite; } @keyframes stuartRunning { 0% { background-position: 0 0; } 20% { background-position: -65px 0; } 40% { background-position: -130px 0; } 60% { background-position: -195px 0; } 80% { background-position: -260px 0; } 100% { background-position: -325px 0; } } </style> </head> <body> <div class="stuart"></div> </body> <script type="text/javascript"> var stuart = document.getElementsByClassName("stuart")[0]; stuart.style.backgroundImage = "url('http://blog-cdn.chenxiaochun.cn/fe-demo/aggregation-animation/stuart.png')"; </script> </html>
通過上面的代碼,我們便可以在網(wǎng)頁上看到一個(gè)在不停跑動(dòng)的小黃人了。其中,我們?cè)O(shè)置了該小黃人的背景圖片(通過style的backgroundImage屬性),然后使用CSS3中的動(dòng)畫屬性animation讓其做循環(huán)滾動(dòng)動(dòng)畫。
如果想調(diào)出其他的卡通人物,可以嘗試找一些開放性的API接口。例如,動(dòng)漫花園提供的來自動(dòng)漫花園的次元壁紙API。以此為例,下面是一份簡(jiǎn)單的代碼:
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <style type="text/css"> .wallpaper { width: 30%; margin: 0 auto; animation: fadeIn 0.5s ease; } @keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } } </style> </head> <body> <div class="wallpaper"></div> </body> <script type="text/javascript"> var wallpaper = document.getElementsByClassName("wallpaper")[0]; var xhr = new XMLHttpRequest(); xhr.open('get', 'https://api.wallpaper.moe/home/rand'); xhr.onload = function() { var data = JSON.parse(xhr.responseText); wallpaper.style.backgroundImage = "url('" + data.data[0].imageUrl + "')"; }; xhr.send(); </script> </html>
代碼中向API接口發(fā)送請(qǐng)求,并將返回值中的圖片 URL 賦值給 innerHTML,展示在頁面中。同時(shí),我們還對(duì)這張圖片添加了淡入效果。
隨著對(duì)JS的深入理解,我們可以使用更加高級(jí)復(fù)雜的方法來調(diào)出個(gè)性化的卡通人物。例如,可以使用Three.js引擎,結(jié)合3D建模技術(shù),制作可以在網(wǎng)頁中交互的3D模型,將其呈現(xiàn)在頁面上。或者,可以使用WebGL,在網(wǎng)頁上實(shí)現(xiàn)復(fù)雜的粒子動(dòng)效。
總之,JavaScript為我們實(shí)現(xiàn)在頁面中實(shí)現(xiàn)各種卡通人物提供了無限可能。只要有足夠的耐心和技巧,我們可以在網(wǎng)頁上呈現(xiàn)出想象不到的、豐富、趣味性的內(nèi)容。