pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

這篇文章主要介紹了基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近用ofo小黃車App的時(shí)候,發(fā)現(xiàn)以前下方掃一掃變成了一個(gè)眼睛動(dòng)的小黃人,覺(jué)得蠻有意思的,這里用HTML5仿一下效果。

ofo眼睛效果

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

效果分析

從效果中不難看出,是使用陀螺儀事件實(shí)現(xiàn)的。

這里先來(lái)看一下HTML5中陀螺儀事件的一些概念。

陀螺儀事件為deviceorientation,這里主要獲取事件中的alpha,beta,gamma

aplha

行動(dòng)裝置水平放置時(shí),繞 Z 軸旋轉(zhuǎn)的角度,數(shù)值為 0 度到 360 度。

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

beta

行動(dòng)裝置水平放置時(shí),繞 X 軸旋轉(zhuǎn)的角度,數(shù)值為 -180 度到 180 度。

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

gamma

行動(dòng)裝置水平放置時(shí),繞 Z 軸旋轉(zhuǎn)的角度,數(shù)值為 -90 度到 90 度。

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

這里,只需要用到beta和gamma。

將apk解壓,得到眼睛素材:

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

代碼實(shí)現(xiàn)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <title>Document</title>
  <style>
    #box{
      position: relative;
      width: 300px;
      margin: 0 auto;
    }

    #face{
      background-image: url(images/face.png);
      background-size: cover;
      width: 300px;
      height: 300px;
      position: absolute;
    }

    #eyeLeft{
      background-image: url(images/eye.png);
      background-size: cover;
      width: 40px;
      height: 40px;
      position: absolute;
      top: 90px;
      left: 100px;
    }

    #eyeRight{
      background-image: url(images/eye.png);
      background-size: cover;
      width: 40px;
      height: 40px;
      position: absolute;
      top: 90px;
      left: 190px;
    }

    #glass{
      background-image: url(images/glass.png);
      background-size: cover;
      width: 300px;
      height: 300px;
      position: absolute;
    }
  </style>
</head>
<body>
  <div id="box">
    <div id="face"></div>
    <div id="eyeLeft"></div>
    <div id="eyeRight"></div>
    <div id="glass"></div>
    <div id="log"></div>
  </div>
<script>
'use strict';

/*
* author: 王樂(lè)平
* date:2017.7.17
*/

var eyeLeftPosition = {
  start: [70, 78],
  end: [100, 110]
};

var eyeRightPosition = {
  start: [150, 78],
  end: [190, 110]
};

var eyeLeftCenterPosition = {
  x: (eyeLeftPosition.end[0] - eyeLeftPosition.start[0]) / 2 + eyeLeftPosition.start[0],
  y: (eyeLeftPosition.end[1] - eyeLeftPosition.start[1]) / 2 + eyeLeftPosition.start[1]
};

var eyeRightCenterPosition = {
  x: (eyeRightPosition.end[0] - eyeRightPosition.start[0]) / 2 + eyeRightPosition.start[0],
  y: (eyeRightPosition.end[1] - eyeRightPosition.start[1]) / 2 + eyeRightPosition.start[1]
};

var r = 20;

var eyeLeft = document.querySelector('#eyeLeft');
var eyeRight = document.querySelector('#eyeRight');

if (window.DeviceOrientationEvent) {

  window.addEventListener('deviceorientation', function (event) {

    let {alpha, beta, gamma} = event;

    eyeLeft.style.left = eyeLeftCenterPosition.x + gamma / 90 * r + 'px';
    eyeRight.style.left = eyeRightCenterPosition.x + gamma / 90 * r + 'px';
    eyeLeft.style.top = eyeRight.style.top 
                      = eyeLeftCenterPosition.y + beta / 180 * r + 'px';

    eyeRight.style.transform = eyeLeft.style.transform 
                         = eyeRight.style.WebkitTransform 
                         = eyeLeft.style.WebkitTransform 
                         = 'rotate(' + beta + 'deg)';
  }, false);
} else {
  document.querySelector('body').innerHTML = '瀏覽器不支持DeviceOrientationEvent';
}
</script>
</body>
</html>

最終效果

 

基于HTML5陀螺儀實(shí)現(xiàn)ofo首頁(yè)眼睛移動(dòng)效果的示例

 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 2025第九届世界无人机大会| 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 顺辉瓷砖-大国品牌-中国顺辉 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 致胜管家软件服务【在线免费体验】| 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 长春网站建设,五合一网站设计制作,免费优化推广-长春网站建设 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 深圳富泰鑫五金_五金冲压件加工_五金配件加工_精密零件加工厂 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 致胜管家软件服务【在线免费体验】 |