信息发布软件,b2b软件,广告发布软件
标题: 网页的振动触觉效果就靠这段JS代码了 [打印本页]
作者: 群发软件 时间: 2017-6-4 22:17
标题: 网页的振动触觉效果就靠这段JS代码了
本帖最后由 群发软件 于 2017-6-4 22:18 编辑
个功能真的很神奇,但是前提是你的手机支持这个API,否则它的美,你无法亲身体会。
HTML
<div class="shock"> 按我手机会震动 </div>CSS
.shock{ font-size: 15px; font-weight: bold; color: red; }JS
//Vibration接口用于在浏览器中发出命令,使得设备振动。 function vibration(){ navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navigator.mozVibrate || navigator.msVibrate; if (navigator.vibrate) { // 支持 console.log("支持设备震动!"); } $(".shock").click(function(){ alert("1111"); navigator.vibrate([500, 300, 400,300]); }); }这个小功能,首先判断是否支持设备震动,如果震动当点击“” 按我手机会震动“”,手机就会自己动起来了。
navigator.vibrate([500, 300, 400,300]);这句话有必要解释一下,中括号里面的值标示“”[震动时间,停止时间,震动时间,停止时间………..]“”。没有错就是这种规律,简单明了。
一种把人吓一跳的感觉。实现方法是,把下面的JavaScript代码加入到<body>与</body>之间:
<script language="JavaScript">
function surfto(form) {
var myindex=form.select1.selectedIndex
if (form.select1.options[myindex].value != null) {
parent.main.location.href=form.select1.options[myindex].value;
} }
</script>//这段JS代码意为当前页面的浏览器地震//
<script language="JavaScript1.2">
function shake(n) {
if (window.top.moveBy) {
for (i = 10; i>0; i--) {
for (j = n; j>0; j--) {
window.top.moveBy(0,i);
window.top.moveBy(i,0);
window.top.moveBy(0,-i);
window.top.moveBy(-i,0);
} } }
alert("呀~~地震啦!没~~吓坏吧?^_*"); //这里设定地震后弹出的嬉戏性文字(据需随意)//
}
</script>
<script language="JavaScript">
<!--
function moyamoya(htmlfile) {
parent.main.location.href=htmlfile;
}
</script>
<a href="#">点我看看呀~~:-)</a>
//其中,onclick="shake(10)"中的数字表示震动的次数;href="#"是设定地震后回到本面//
呵呵…我说,感觉怎么样呀各位?赶紧地行动吧你!^_^
现代浏览器里提供的新的API越来越倾向于移动手机应用,而不是传统的桌面应用,比如 javascript地理位置信息API 。另外一个只针对手机应用的JavaScript API就是 振动(Vibration) API 。很明显,这个API就是允许mobile程序员使用JavaScript调用手机的振动功能,并且能设定振动的方式和时长。
判断浏览器对振动API的支持情况
一个好的习惯就是在使用之前要检查一下当前你的应用环境、浏览器是否支持振动API。下面就是检测的方法:
复制代码代码如下:
// Standards ftw!
var supportsVibrate = "vibrate" in navigator;
在 window.navigator 对象里就只有一个关于振动的API: vibrate 。
振动API基础应用
这个 navigator.vibrate 函数可以接受一个数字参数,也可以接受一个数字数组,当使用数组参数时,奇数位的数值是震动秒数,偶数位为等待秒数。
// 振动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 levelfunction startVibrate(duration) {navigator.vibrate(duration);}// Stops vibrationfunction 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 givenfunction startPeristentVibrate(duration, interval) {vibrateInterval = setInterval(function() {startVibrate(duration);}, interval);}
上面的这段代码只是针对振动参数是一个数字的情况,如果参数是数组,你还需要计算一下它的总共持续时间,然后根据它的特征来进行循环。
使用振动(Vibration) API的场景
这个API显然是针对移动手机设备的。当开发手机WEB移动应用时,它是一个很好的警示工具,当在开发Web游戏或多媒体应用时,这个振动功能更是不可或缺的好技术。比如说,当用户在用一个手机玩你的WEB游戏时,当游戏中发生爆炸,而你让手机也跟随着振动,是不是一种很出色的用户体验?
你对这个JavaScript振动API的感觉如何?是认为它会很快流行起来?还是没有多大用处?
作者: niubt 时间: 2017-6-6 19:03
店家服务真的很好!
作者: dccmdy 时间: 2017-6-7 17:22
简单大方,速度也很给力,非常不错.
作者: shenyeben 时间: 2017-6-10 12:21
,整体满意,好评
作者: mmgg520 时间: 2017-6-13 01:54
晚,价格合适,功能齐全,尤其是技术客服服务周到,花很少的钱做很大的事,合作愉快,希望以后更好合作
作者: 123 时间: 2017-6-14 04:42
术不错。。。整的巴适。。。
作者: tian001 时间: 2017-6-18 12:57
心不懂就问他就告诉也不嫌弃烦不给好评等啥呢必须好评太给力了好多客人都说我家店铺好看。从来没有碰到过
作者: niubttt 时间: 2017-6-21 22:57
,店家真有样,大爱!
作者: ggt567 时间: 2017-6-22 13:13
家服务态度绝对一流!
作者: ekmci 时间: 2017-6-22 22:03
简单大方,速度也很给力,非常不错.
作者: jiandao1 时间: 2017-6-24 19:07
致,帮忙开通公众号遇到了一些小问题,还不时提醒,开通后两天就建好了,高效!
作者: a001hao 时间: 2017-6-26 05:53
。很热情,不错的商家
作者: anleey 时间: 2017-6-28 10:19
学习了,不错,讲的太有道理了
作者: yiyi2014 时间: 2017-7-1 12:11
服务超好
欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/) |
Powered by Discuz! X3.2 |