js可以调用手机震动吗?怎么调用?谢谢!

JavaScript07

js可以调用手机震动吗?怎么调用?谢谢!,第1张

不能

js是运行在浏览器的代码,他所能操作的范围只限定在浏览器范围内

要调用手机硬件,只能通过手机系统提供的api来调用

例如通过ios的,或安卓的系统接口来调用设备硬件

第一步是通过摇动手机来改变颜色

!doctype html html head meta charset=' utf-8 '/meta name=' viewport ' content=' width=device-width,Initial-scale=1.0'/titleHTML5手机震动/title脚本类型=' text/JavaScript ' var color=new array(' # fff ',' # ff0 ',' # f00 ',' # 000 ',' # 00f ',' # 0ff ');if(窗口。DeviceMotionEvent){ var speed=25;var x=y=z=LasTx=LasTy=LasTz=0;window . addeventlistener(' device motion ',function(){ var acceleration=event . accelerationincluding gravity;x=加速度. x;y=加速度. y;if(Math.abs(x-lastX)速度|| Math.abs(y-lastY)速度){ document . body . style . background color=color[math . round(math . random()* 10)% 6];} LasTx=x;lastY=y;},false);}/脚本/头身摇动手机更改屏幕颜色。/body /html主要是手机的DeviceMotionEvent事件

第二步,微信晃一下手势

与第一步相比,增加了晃动手势,改变了晃动事件。在摇动后添加您想要的方法,无论您想要进入下一页还是触发控制器事件。

“% @”页面内容类型=' text/html;字符集=UTF-8 '语言=' Java ' % html头元http-equiv=' Content-Type '内容=' text/html;字符集=UTF-8 '元字符集='UTF-8 '元名称='视口'内容='宽度=设备宽度,初始比例=1.0,最大比例=1.0 '标题摇一摇/title link rel='样式表href='插件/柳良宝/shake/css/shake.css' rel='外部nofollow' link rel='样式表href='插件/柳良宝/shake/css/myDialog.css' rel='外部' nofollow '脚本类型=' text/JavaScript ' src=' http :插件/柳良宝/SHAKE/js/jquery。量滴js /脚本脚本类型=' text/JavaScript 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 Hall({ URLs :['/shake/sound/shake _ sound。MP3 ']}).load();var find sound=new Hall({ URLs :['/shake/sound/shake _ match。MP3 ']}).load();var curTimevar isShakeble=true函数init() { if (window .DeviceMotionEvent){ window。addeventlistener(' devicemotion ',deviceMotionHandler,false);} else { $('#cantshake ').show();} }函数deviceMotionHandler(事件数据){ Curtime=new Date().getTime();var DiffTime=Curtime-last _ update;if(diffTime 100){ var加速度=事件数据。加速度,包括重力;last _ update=curTimex=加速度。x;y=加速度。y;z=加速度。z;var速度=数学。ABS(x y z-last _ x-last _ y-last _ z)/DiffTime * 10000;if(speed SHAKE _ THreshold Curtime-last _ time 1100 $(' # loading ').attr(' class ')==' loading ' is hakkable){ shake();} last _ x=xlast _ y=ylast _ z=z} }函数shake(){ last _ time=Curtime;$("#正在加载")。attr('class ',' loading loading-show ');$(' #震动').animate({ top: '10%' },700,function () { $('#shakeup ').animate({ top: '25%' },700,function () { $('#loading ').attr('class ',' loading ');找到声音。play();//在此为摇动之后的事件,这里为调用ControllergoShakeResult方法窗户。位置。href='摇动控制器。做什么?goShakeResultphoneNumber=$ { phoneNumber } hdid=$ { hdid } OpenID=$ { OpenID } ';})})$(' #安定')。animate({ top: '40%' },700,function(){ $(' # shadow ')).animate({ top: '25%' },700,function(){ });})声音。play();} //各种初始化$(文档)。ready(function(){ howler。IOs自动启用=false快速点击。附上(文件。身体);init();})/script/head body table id=' container ' t body tr TD class=' container ' col span=' 2 ' div id=' shake ' img src=' http : plug/Liu Liang Bao/shake/images/inner。png ' class=' inner ' img src=' http : plug/刘良宝/shake。png ' class=' shake _ up ' id=' shake up ' img src=' http :插件/刘良宝您今天还可以摇输入id='shakeCount '名称='shakeCount '值='${leftcount} '次TD/tr/tr正确姿势:握紧手机,用力摇动3秒,苦练18年的麒麟臂终于派上用场了td /tr /tbody /table /body /html有时候真的可以换一种方法去实现自己想要的功能。附图:演示本来实现的效果是:

这么说吧,一个震动器的成本价两块钱,如果是它坏了好办,找个实在点的师傅二十块可能帮你搞,提醒你一下超过30块你肯定上当了.但如果不是震子坏了就比较麻烦了,马达的驱动电路任何一个元件坏了或焊接不良都可能,甚至于如果是折叠机的话,FPC排线坏也有可能,或者仅仅只是排插接触不良也可能.而直板机的话,有可能只是马达的金属面(铜制品)接触不良也可能,这么说吧,如果马达没坏,维修至少要50块,毕竟是要运用理论知识及维修经验的.哎!反正不要震动手机也一样用,如果不是很新的手机,考虑一下要不要修吧