亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript+H5實現微信搖一搖功能

2019-11-19 13:47:38
字體:
來源:轉載
供稿:網友

項目終于如約上線,但是在春節前又有一個新的活動要做,類似微信的搖一搖活動。也一直在做微信公眾號的東西,但是要調用微信搖一搖的接口還是有些困難,因為只提供了搖一搖周邊,附近的人以及一系列的紅包頁面,相對于我們的需求只需要搖一搖這個動作卻是大相徑庭。

其實H5+JavaScript寫出來的頁面,通過獲取手機的屏幕長和寬,以及添加聲音等就可以實現搖一搖的效果。 

第一步,實現手機搖動改變顏色

<!doctype html> <html>  <head>  <meta charset="utf-8" />  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>  <title>HTML5 手機搖一搖</title>   <script type="text/javascript">    var color = new Array('#fff', '#ff0', '#f00', '#000', '#00f', '#0ff');    if(window.DeviceMotionEvent) {     var speed = 25;     var x = y = z = lastX = lastY = lastZ = 0;     window.addEventListener('devicemotion', function(){      var acceleration =event.accelerationIncludingGravity;      x = acceleration.x;      y = acceleration.y;      if(Math.abs(x-lastX) > speed || Math.abs(y-lastY) > speed) {       document.body.style.backgroundColor = color[Math.round(Math.random()*10)%6];      }      lastX = x;      lastY = y;     }, false);    }   </script>  </head>  <body>     手機搖一搖,改變屏幕顏色。  </body> </html> 

主要是手機的DeviceMotionEvent事件

第二步,微信搖一搖手勢

相對于第一步就是增加了搖一搖手勢,改變了搖動事件。在搖一搖動作之后再添加自己想要的方法即可,無論是想要進入下一個自己做的頁面還是觸發一個Controller事件都可以。

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">  <title>搖一搖</title>  <link rel="stylesheet" href="plug-in/liuliangbao/shake/css/shake.css" rel="external nofollow" >  <link rel="stylesheet" href="plug-in/liuliangbao/shake/css/myDialog.css" rel="external nofollow" >  <script type="text/javascript" src="plug-in/liuliangbao/shake/js/jquery.min.js"></script>  <script type="text/javascript" src="plug-in/liuliangbao/shake/js/howler.min.js"></script>  <script type="text/javascript" src="plug-in/liuliangbao/shake/js/fastclick.js"></script>  <script type="text/javascript" src="plug-in/liuliangbao/shake/js/myDialog.js"></script>   <script type="text/javascript">    var SHAKE_THRESHOLD = 1000;    var last_update = 0;    var last_time = 0;    var x;    var y;    var z;    var last_x;    var last_y;    var last_z;    var sound = new Howl({ urls: ['/shake/sound/shake_sound.mp3'] }).load();    var findsound = new Howl({ urls: ['/shake/sound/shake_match.mp3'] }).load();    var curTime;    var isShakeble = true;     function init() {     if (window.DeviceMotionEvent) {      window.addEventListener('devicemotion', deviceMotionHandler, false);     } else {      $("#cantshake").show();     }    }     function deviceMotionHandler(eventData) {     curTime = new Date().getTime();     var diffTime = curTime - last_update;     if (diffTime > 100) {      var acceleration = eventData.accelerationIncludingGravity;      last_update = curTime;      x = acceleration.x;      y = acceleration.y;      z = acceleration.z;      var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;        if (speed > SHAKE_THRESHOLD && curTime - last_time > 1100 && $("#loading").attr('class') == "loading" && isShakeble) {       shake();      }      last_x = x;      last_y = y;      last_z = z;     }    }     function shake() {     last_time = curTime;     $("#loading").attr('class','loading loading-show');     $("#shakeup").animate({ top: "10%" }, 700, function () {      $("#shakeup").animate({ top: "25%" }, 700, function () {       $("#loading").attr('class','loading');         findsound.play();         //在此為搖動之后的事件,這里為調用ControllergoShakeResult方法       window.location.href = "shakeController.do?goShakeResult&phoneNumber=${phoneNumber}&hdid=${hdid}&openid=${openid}";      });     });     $("#shakedown").animate({ top: "40%" }, 700, function () {      $("#shakedown").animate({ top: "25%" }, 700, function () {      });     });     sound.play();    }     //各種初始化    $(document).ready(function () {     Howler.iOSAutoEnable = false;     FastClick.attach(document.body);     init();    });  </script> </head> <body>  <table id="container">    <tbody>        <tr>         <td class="container" colspan="2">        <div id="shake">         <img src="plug-in/liuliangbao/shake/images/inner.png" class="inner">         <img src="plug-in/liuliangbao/shake/images/shake.png" class="shake_up" id="shakeup">         <img src="plug-in/liuliangbao/shake/images/shake.png" class="shake_down" id="shakedown">          </div><div id="loading" class="loading"></div>         </td>      </tr>      <tr>       <td>        您今天還可以搖<input id="shakeCount" name="shakeCount" value="${leftcount}">次       </td>      </tr>      <tr>       <td>正確姿勢:握緊手機,用力搖動3秒,苦練18年的麒麟臂終于派上用場了。</td>      </tr>     </tbody>  </table> </body> </html>

有時候真的可以換一種方法去實現自己想要的功能。附圖:demo本來實現的效果是:

                   

改版之后

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情亚洲精品| 国产欧美久久久久久| 精品成人久久av| 亚洲欧美日韩中文在线制服| 亚洲一区二区三| 青草热久免费精品视频| 亚洲色图av在线| 日韩成人av网址| 亚洲精美色品网站| 国产日韩欧美电影在线观看| 日韩人体视频一二区| 精品国内亚洲在观看18黄| 久久久亚洲福利精品午夜| 亚洲色图偷窥自拍| 91爱爱小视频k| 欧美日韩视频免费播放| 国产v综合v亚洲欧美久久| 91久久精品国产| 日韩在线观看高清| 91中文在线视频| 精品夜色国产国偷在线| 亚洲午夜精品久久久久久久久久久久| 亚洲国产又黄又爽女人高潮的| 欧美俄罗斯乱妇| 欧美亚洲国产日本| 姬川优奈aav一区二区| 狠狠躁夜夜躁人人爽超碰91| 精品久久久久久亚洲精品| 91超碰caoporn97人人| 成人xxxx视频| 国产精品久久久久久av福利| 精品国产欧美一区二区五十路| 亚洲性视频网站| 亚洲自拍高清视频网站| 日本a级片电影一区二区| 欧美午夜精品在线| 久久全国免费视频| 亚洲第一中文字幕在线观看| 久久久www成人免费精品张筱雨| 亚洲精品一区二区久| 国产成人综合亚洲| 成人免费看吃奶视频网站| 精品毛片网大全| 久久久久久久久网站| 欧美电影在线播放| 欧美精品免费看| 日韩成人在线电影网| 日韩大片在线观看视频| 狠狠躁天天躁日日躁欧美| 亚洲成年网站在线观看| 黄色成人在线免费| 亚洲人成网站免费播放| 久久久久日韩精品久久久男男| 97免费中文视频在线观看| 欧美日韩亚洲一区二区三区| 国产精品三级美女白浆呻吟| 国产精品视频一区国模私拍| 亚洲一区二区自拍| 97成人精品区在线播放| 久久久国产在线视频| 韩国精品久久久999| 欧美一乱一性一交一视频| 亚洲黄页网在线观看| 亚洲欧美日韩天堂一区二区| 精品久久久国产精品999| 成人亚洲欧美一区二区三区| 亚洲欧美国产制服动漫| 日韩精品在线免费播放| 日韩中文娱乐网| 成年人精品视频| 亚洲成人网在线| 亚洲自拍小视频免费观看| 中文字幕久久久av一区| 精品偷拍各种wc美女嘘嘘| 福利二区91精品bt7086| 国产成人综合一区二区三区| 亚洲精品视频在线观看视频| 欧美精品第一页在线播放| 有码中文亚洲精品| 日韩av在线网页| 亚洲片在线观看| 国产欧美一区二区三区久久| 午夜精品久久久久久99热软件| 精品久久久久久久中文字幕| 国产精品精品国产| 91高清免费视频| 国产91精品视频在线观看| 国产精品视频永久免费播放| 国产日韩av在线播放| 国产午夜精品视频| 国产精品一区二区久久久久| 国产丝袜视频一区| 国产精品美女免费视频| 中文字幕亚洲欧美日韩在线不卡| 亚洲第一网中文字幕| 国产欧美一区二区三区久久人妖| 亚洲成色www8888| 午夜精品理论片| 久久精品国产久精国产思思| 亚洲v日韩v综合v精品v| 亚洲国产高清自拍| 91天堂在线观看| 中文字幕久热精品在线视频| 精品国产91乱高清在线观看| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久久久久久99| 在线成人激情黄色| 97涩涩爰在线观看亚洲| 色偷偷噜噜噜亚洲男人的天堂| 国产精品99免视看9| 国产一级揄自揄精品视频| 国产一区香蕉久久| 亚洲xxxx18| 91久久久久久| 在线观看日韩欧美| 九九热这里只有在线精品视| 国产成人av网| 51ⅴ精品国产91久久久久久| 亚洲第一福利视频| 欧美性猛交xxxx乱大交蜜桃| 欧美日韩中文字幕在线视频| 最近的2019中文字幕免费一页| 欧美黄色三级网站| 国产区精品在线观看| 亚洲三级 欧美三级| 欧美人交a欧美精品| 欧美性猛交xxxx黑人| 日韩激情av在线免费观看| 国产精品一区二区在线| 国产一区二区视频在线观看| 在线播放日韩精品| 亚洲欧洲在线视频| 一区二区在线免费视频| 亚洲最大成人网色| 2019国产精品自在线拍国产不卡| 国产精品aaaa| 91中文在线视频| 国产成人精品优优av| 午夜精品久久久久久久久久久久久| 色悠久久久久综合先锋影音下载| 国内免费精品永久在线视频| 亚洲国产古装精品网站| 亚洲成人久久一区| 欧美激情三级免费| 国产精品极品尤物在线观看| www日韩中文字幕在线看| 国产成人精品a视频一区www| 不卡av电影在线观看| 亚洲国产高潮在线观看| 成人免费观看49www在线观看| 92版电视剧仙鹤神针在线观看| 国产色综合天天综合网| 日韩视频免费在线| 性欧美长视频免费观看不卡| 精品国产成人av| 国产精品高清网站| 国产精品爽爽爽爽爽爽在线观看| 国产精品一久久香蕉国产线看观看| 日韩在线免费高清视频| 激情av一区二区| 91欧美精品成人综合在线观看| 久久久www成人免费精品张筱雨| 国产日韩欧美日韩大片| 欧美高清videos高潮hd|