<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:47:20
        文檔

        怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖

        怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖:這次給大家?guī)碓鯓邮褂肑S+H5實(shí)現(xiàn)微信搖一搖,使用JS+H5實(shí)現(xiàn)微信搖一搖的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。項(xiàng)目終于如約上線,但是在春節(jié)前又有一個(gè)新的活動(dòng)要做,類似微信的搖一搖活動(dòng)。也一直在做微信公眾號的東西,但是要調(diào)用微信搖一搖的
        推薦度:
        導(dǎo)讀怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖:這次給大家?guī)碓鯓邮褂肑S+H5實(shí)現(xiàn)微信搖一搖,使用JS+H5實(shí)現(xiàn)微信搖一搖的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。項(xiàng)目終于如約上線,但是在春節(jié)前又有一個(gè)新的活動(dòng)要做,類似微信的搖一搖活動(dòng)。也一直在做微信公眾號的東西,但是要調(diào)用微信搖一搖的
        這次給大家?guī)碓鯓邮褂肑S+H5實(shí)現(xiàn)微信搖一搖,使用JS+H5實(shí)現(xiàn)微信搖一搖的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

        項(xiàng)目終于如約上線,但是在春節(jié)前又有一個(gè)新的活動(dòng)要做,類似微信的搖一搖活動(dòng)。也一直在做微信公眾號的東西,但是要調(diào)用微信搖一搖的接口還是有些困難,因?yàn)橹惶峁┝藫u一搖周邊,附近的人以及一系列的紅包頁面,相對于我們的需求只需要搖一搖這個(gè)動(dòng)作卻是大相徑庭。

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

        第一步,實(shí)現(xiàn)手機(jī)搖動(dòng)改變顏色

        <!doctype html> 
        <html> 
         <head> 
         <meta charset="utf-8" /> 
         <meta name="viewport" content="width=device-width,initial-scale=1.0"/> 
         <title>HTML5 手機(jī)搖一搖</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> 
         手機(jī)搖一搖,改變屏幕顏色。 
         </body> 
        </html>

        主要是手機(jī)的DeviceMotionEvent事件

        第二步,微信搖一搖手勢

        相對于第一步就是增加了搖一搖手勢,改變了搖動(dòng)事件。在搖一搖動(dòng)作之后再添加自己想要的方法即可,無論是想要進(jìn)入下一個(gè)自己做的頁面還是觸發(fā)一個(gè)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(); 
         //在此為搖動(dòng)之后的事件,這里為調(diào)用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>正確姿勢:握緊手機(jī),用力搖動(dòng)3秒,苦練18年的麒麟臂終于派上用場了。</td> 
         </tr> 
         </tbody> 
         </table> 
        </body> 
        </html>

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

        改版之后

        相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!

        推薦閱讀:

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

        JS+CSS3做出圖片綁定鼠標(biāo)移動(dòng)事件放大

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖

        怎樣使用JS+H5實(shí)現(xiàn)微信搖一搖:這次給大家?guī)碓鯓邮褂肑S+H5實(shí)現(xiàn)微信搖一搖,使用JS+H5實(shí)現(xiàn)微信搖一搖的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。項(xiàng)目終于如約上線,但是在春節(jié)前又有一個(gè)新的活動(dòng)要做,類似微信的搖一搖活動(dòng)。也一直在做微信公眾號的東西,但是要調(diào)用微信搖一搖的
        推薦度:
        標(biāo)簽: 微信 搖一搖 微信搖一搖
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲无线码一区二区| 日韩免费无砖专区2020狼| 亚洲AV无码一区二区三区DV| 国产福利电影一区二区三区,免费久久久久久久精| 国产精品亚洲午夜一区二区三区| 日韩免费码中文在线观看| 一本色道久久88亚洲综合| 久久青青草原亚洲av无码app| 欧美激情综合亚洲一二区| 精品久久久久久久免费人妻| 国产精品亚洲va在线观看| 在免费jizzjizz在线播 | 免费国产a国产片高清网站| 久久亚洲中文字幕精品有坂深雪 | 97国产在线公开免费观看| 亚洲精品国产情侣av在线| 91精品国产免费久久久久久青草| 久久精品国产精品亚洲下载| 国产亚洲中文日本不卡二区| 午夜视频在线免费观看| 亚洲男人在线无码视频| 久久国产精品免费一区| 婷婷亚洲综合五月天小说| 免费视频爱爱太爽了| 亚洲AV无码第一区二区三区| 6080午夜一级毛片免费看6080夜福利| 亚洲1区1区3区4区产品乱码芒果 | 色婷五月综激情亚洲综合| 日韩在线免费电影| jizz免费在线观看| 久久精品国产亚洲av麻豆色欲 | 久久99毛片免费观看不卡| 亚洲网站在线播放| 日本免费一区二区三区最新vr| 精品国产污污免费网站入口在线| 久久亚洲国产视频| 日韩在线天堂免费观看| 日本免费污片中国特一级| 亚洲最大天堂无码精品区| 在线亚洲97se亚洲综合在线| 免费专区丝袜脚调教视频|