国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

怎樣使用JS+H5實現微信搖一搖

來源:懂視網 責編:小采 時間:2020-11-27 19:47:20
文檔

怎樣使用JS+H5實現微信搖一搖

怎樣使用JS+H5實現微信搖一搖:這次給大家帶來怎樣使用JS+H5實現微信搖一搖,使用JS+H5實現微信搖一搖的注意事項有哪些,下面就是實戰案例,一起來看一下。項目終于如約上線,但是在春節前又有一個新的活動要做,類似微信的搖一搖活動。也一直在做微信公眾號的東西,但是要調用微信搖一搖的
推薦度:
導讀怎樣使用JS+H5實現微信搖一搖:這次給大家帶來怎樣使用JS+H5實現微信搖一搖,使用JS+H5實現微信搖一搖的注意事項有哪些,下面就是實戰案例,一起來看一下。項目終于如約上線,但是在春節前又有一個新的活動要做,類似微信的搖一搖活動。也一直在做微信公眾號的東西,但是要調用微信搖一搖的
這次給大家帶來怎樣使用JS+H5實現微信搖一搖,使用JS+H5實現微信搖一搖的注意事項有哪些,下面就是實戰案例,一起來看一下。

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

其實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"> 
 <p 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"> 
 </p><p id="loading" class="loading"></p> 
 </td> 
 </tr> 
 <tr> 
 <td> 
 您今天還可以搖<input id="shakeCount" name="shakeCount" value="${leftcount}">次 
 </td> 
 </tr> 
 <tr> 
 <td>正確姿勢:握緊手機,用力搖動3秒,苦練18年的麒麟臂終于派上用場了。</td> 
 </tr> 
 </tbody> 
 </table> 
</body> 
</html>

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

改版之后

相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

推薦閱讀:

Vue按鍵修飾符處理事件步驟詳解

JS+CSS3做出圖片綁定鼠標移動事件放大

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

怎樣使用JS+H5實現微信搖一搖

怎樣使用JS+H5實現微信搖一搖:這次給大家帶來怎樣使用JS+H5實現微信搖一搖,使用JS+H5實現微信搖一搖的注意事項有哪些,下面就是實戰案例,一起來看一下。項目終于如約上線,但是在春節前又有一個新的活動要做,類似微信的搖一搖活動。也一直在做微信公眾號的東西,但是要調用微信搖一搖的
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 成人亚洲国产综合精品91 | 欧美精品色精品一区二区三区 | 日韩美在线 | 卡通动漫第一页 | 国产毛片一区二区 | 国产精品第5页 | 欧美亚洲综合在线观看 | 91日韩欧美 | 欧美日韩一区二区三区在线播放 | 亚洲国产精品热久久 | 亚洲欧美日韩在线2020 | 五月天婷婷影院 | 日韩区在线 | 欧美 日韩 亚洲另类专区 | 黄a毛片 | 国产精品久久新婚兰兰 | 久久国产综合精品欧美 | 青青国产成人久久91网站站 | 久久亚洲精选 | 久久国产精品最新一区 | 欧美日韩精品乱国产538 | 成人精品在线视频 | 国产日韩欧美综合在线 | 欧美一级视频在线观看 | 青春草视频在线 | 日韩在线视频观看 | av毛片免费看 | 亚洲高清视频在线 | 国产精品亚洲精品不卡 | 国产精品视频不卡 | 一区二区在线播放视频 | 亚洲欧美日韩另类在线专区 | 欧美性猛交一区二区三区精品 | 四虎精品成人a在线观看 | 国产精品一区二区综合 | 日本一区二区三区高清在线观看 | www.91麻豆| 亚洲一区二区三区夜色 | 中文国产成人精品久久一区 | 亚洲综合无码一区二区 | 91精品国产免费久久久久久 |