【发布时间】:2021-12-30 06:29:09
【问题描述】:
我正在尝试在移动设备运动发生变化时更改背景图像(例如您将设备设置为顶部、左侧或右侧,或上下移动)。我正在使用此代码,问题是它立即开始工作,即使我不手动改变设备的运动。它总是在循环中不断更新。
当我稍微向右或向左或向下改变移动设备时,我想要什么,它应该改变图像而不是知道如何让它工作:
window.addEventListener("devicemotion", function(event){
if(event.rotationRate.alpha || event.rotationRate.beta || event.rotationRate.gamma)
{
var myImages = new Array("victoria_bg.png", "victoria_bg_2.png", "victoria_bg_3.png", "victoria_bg_4.png");
var random = myImages[Math.floor(Math.random() * myImages.length)];
random = 'url(<?php echo base_url();?>resources/mobile/images/' + random + ')';
}
});
【问题讨论】:
-
devicemotion 事件定期触发 - 所以它不是像
click这样的传统事件,而是不断触发。您需要存储上一个事件的值并进行比较以查看它是否已更改。 -
@freedomn-m 你能写下代码吗?我是 jquery 的新手
标签: jquery devicemotion