html
成都創(chuàng)新互聯(lián)10年專注成都高端網(wǎng)站建設(shè)定制網(wǎng)站設(shè)計(jì)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),小程序開發(fā),軟件開發(fā),網(wǎng)絡(luò)營銷推廣,網(wǎng)絡(luò)運(yùn)營服務(wù)及企業(yè)形象設(shè)計(jì);成都創(chuàng)新互聯(lián)擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團(tuán)隊(duì),資深的高端網(wǎng)頁設(shè)計(jì)團(tuán)隊(duì)及經(jīng)驗(yàn)豐富的架構(gòu)師高端網(wǎng)站策劃團(tuán)隊(duì);我們始終堅(jiān)持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營銷方案,解決網(wǎng)絡(luò)營銷疑問。
img?src="圖片地址"?/
css
img{transition:transform?3s;?-webkit-transition:-webkit-transform?3s;}
img:hover{transform:rotate(360deg);?-webkit-transform:rotate(360deg);}
用JQ吧,參考下百度搜索歌曲名字的時(shí)候,歌曲播放的那種結(jié)果,實(shí)在不行的話,就用動(dòng)態(tài)圖片實(shí)現(xiàn)
[img]1、首先打開html文件編輯器,這里使用vscode新建一個(gè)html文檔,文檔中寫入基本的html結(jié)構(gòu),然后插入img標(biāo)簽并插入一張圖片,給img一個(gè)class屬性:
2、然后在上方的head標(biāo)簽中的style標(biāo)簽設(shè)置樣式,這里設(shè)置圖片的寬度和高度并設(shè)置相對(duì)定位,然后設(shè)置圖片的鼠標(biāo)懸浮樣式,其中設(shè)置動(dòng)畫的形式為3d以及設(shè)置圖片3d旋轉(zhuǎn)偏移的角度,添加一個(gè)動(dòng)畫,設(shè)置好延時(shí)即可:
3、最后打開瀏覽器,就會(huì)看到一個(gè)圖片:
4、當(dāng)鼠標(biāo)移動(dòng)上去,圖片就會(huì)自動(dòng)3d旋轉(zhuǎn)了:
微信的360°全景是html5格式的動(dòng)畫,通過3D自動(dòng)成像系統(tǒng)可以實(shí)現(xiàn)。具體方法為先用3D自動(dòng)成像系統(tǒng)生成產(chǎn)品360度全景html5格式的動(dòng)畫,之后把該動(dòng)畫上傳至FTP服務(wù)器并導(dǎo)出鏈接地址,微信上打開此鏈接地址便能分享至朋友圈。
html5中引入3d模型的方法是借助第三方PlayCanvas插件來完成的。
比如可以用以下方法實(shí)現(xiàn)圖片的360度旋轉(zhuǎn):
代碼示例:
var render, loop, t, dt, //定義變量
DEG2RAD = Math.PI / 180, //角度轉(zhuǎn)弧度
cvs = document.querySelector('canvas'), //創(chuàng)建canvas
ctx = cvs.getContext('2d'),//繪制2d圖形上下文
teddy = new Image(), //創(chuàng)建圖像
heart = new Image(), //創(chuàng)建圖像中心
angle = 0,//初始化角度為0
reqAnimFrame =
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.msRequestAnimationFrame ||
window.oRequestAnimationFrame;
//創(chuàng)建動(dòng)畫幀
cvs.width = 400;
cvs.height = 200;
teddy.src = 'xxx.jpg';
heart.src = 'yyy.jpg';
//開始渲染
render = function (timestamp) {
dt = timestamp - t;
t = timestamp;
// cavas設(shè)置為白色
ctx.fillStyle = "rgb(255,255,255)";
ctx.fillRect(0, 0, cvs.width, cvs.height);
// 繪制中心
ctx.drawImage(heart, -20, -120);
// 繪制teddy
ctx.save();
ctx.translate(cvs.width/2, cvs.height/2); // 移動(dòng)鼠標(biāo)到畫布中心
ctx.rotate(DEG2RAD * angle); // 旋轉(zhuǎn)畫布
ctx.drawImage(teddy, -teddy.width/2, -teddy.height/2); // 繪制中心圖片
angle += dt / 16.67 * 6; // increment angle ~ 360 deg/sec
ctx.restore();
};
loop = function (timestamp) {
reqAnimFrame(loop);
render(timestamp);
};
t = Date.now();
loop(t);