javascript 从定义到执行,需要知道的事_WEB前端开发
javascript从定义到执行,JS引擎在实现层做了很多初始化工作,我们需要引入几个相关的概念,这篇文章的目的不是孤立的为你讲解每一个概念, 而是通过一个简单的demo来展开分析,全局讲解JS引擎从定义到执行的每一个细节。
现代浏览器里提供的新的API越来越倾向于移动手机应用,而不是传统的桌面应用,比如JavaScript地理位置信息API。
另外一个只针对手机应用的JavaScript API就是振动(Vibration) API。
很明显,这个API就是允许mobile程序员使用JavaScript调用手机的振动功能,并且能设定振动的方式和时长。
相关学习推荐:javascript视频教程
判断浏览器对振动API的支持情况
一个好的习惯就是在使用之前要检查一下当前你的应用环境、浏览器是否支持振动API。
下面就是检测的方法:
// Standards ftw! var supportsVibrate = "vibrate" in navigator;
在window.navigator
对象里就只有一个关于振动的API:vibrate
。
振动API基础应用
这个navigator.vibrate
函数可以接受一个数字参数,也可以接受一个数字数组,当使用数组参数时,奇数位的数值是震动秒数,偶数位为等待秒数。
JavaScript和CSS交互的5种方法的学习_WEB前端开发
随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊,本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合作。
// 振动1秒 navigator.vibrate(1000); // 振动多次 // 参数分别是震动3秒,等待2秒,然后振动1秒 navigator.vibrate([3000, 2000, 1000]);
如果想停止震动,你只需要向navigator.vibrate
方法里传入0,或一个空数组:
// 停止振动 navigator.vibrate(0); navigator.vibrate([]);
需要提醒的是,对navigator.vibrate
方法的调用并不会引起手机循环振动;当参数是一个数字时,振动之后发生一次,然后就停止下来。
当参数是数组时,震动会按数组里的值震动,然后就停止振动。
持续震动
我们可以简单的使用setInterval
和 clearInterval
方法产生让手机持续震动的效果:
var vibrateInterval; // Starts vibration at passed in level function startVibrate(duration) { navigator.vibrate(duration); } // Stops vibration function stopVibrate() { // Clear interval and stop persistent vibrating if(vibrateInterval) clearInterval(vibrateInterval); navigator.vibrate(0); } // Start persistent vibration at given duration and interval // Assumes a number value is given function startPeristentVibrate(duration, interval) { vibrateInterval = setInterval(function() { startVibrate(duration); }, interval); }
上面的这段代码只是针对振动参数是一个数字的情况,如果参数是数组,你还需要计算一下它的总共持续时间,然后根据它的特征来进行循环。
使用振动(Vibration) API的场景
这个API显然是针对移动手机设备的。
当开发手机WEB移动应用时,它是一个很好的警示工具,当在开发Web游戏或多媒体应用时,这个振动功能更是不可或缺的好技术。
比如说,当用户在用一个手机玩你的WEB游戏时,当游戏中发生爆炸,而你让手机也跟随着振动,是不是一种很出色的用户体验?
你对这个JavaScript振动API的感觉如何?是认为它会很快流行起来?还是没有多大用处?
以上就是学习JavaScript之手机振动API的详细内容,更多请关注ki4网其它相关文章!
ps怎么自由变换拉伸?_WEB前端开发
方法:1、用ps打开需要 *** 作的图片,点击图层窗口,将原始图片解锁;2、点击工具栏中的“编辑”按钮;3、在下拉菜单中点击“自由变换”按钮即可自由拉伸图片。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)