- 66
- 0
import { fullScreen } from './fullScreen';
import shortcut from '../vender/shortcut';
import { prev, next, first, last, start, stop } from './screenCarousel';
const events = {
// 全屏
fullScreen: function () {
fullScreen(document.documentElement);
},
// 切换到第一个大屏
firstScreen: function () {
first();
},
// 切换到最后一个大屏
lastScreen: function () {
last();
},
// 切换上一张大屏
prevScreen: function () {
prev();
},
// 切换下一张大屏
nextScreen: function () {
next();
},
// 数字键切换大屏,十张限制(1-9-0)
numbers: function (screenId) {
window.location.href = '#/' + screenId;
},
// 开启大屏自动切换
screenPlayOn: function () {
env.screens.carousel.autoPlay = true;
start();
},
// 关闭大屏自动切换
screenPlayOff: function () {
stop();
}
};
const numberKey = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
export default function openKeyBoard() {
const config = env.keyboard || {};
for (let event in config) {
if (events[event]) {
// 数字键列表处理
if (event == 'numbers') {
const numbers = config[event];
for (let i = 0; i < numbers.length; i++) {
const screenId = numbers[i];
shortcut.add(numberKey[i] + '', function (keyboardEvent) {
events[event](screenId, keyboardEvent);
});
}
} else {
shortcut.add(config[event], function (keyboardEvent) {
events[event](keyboardEvent);
});
}
}
}
}
- 共 0 条
- 全部回答
-
耳下落腮红 普通会员 1楼
在代码中添加时间监听时,有一些常见的优化策略:
- 使用JavaScript的
setInterval()或requestAnimationFrame()方法:这些方法可以更有效地管理定时器,因为它们是浏览器内置的,不需要额外的库。
javascript setInterval(function() { // 在这里执行一些操作 }, 1000);javascript requestAnimationFrame(function() { // 在这里执行一些操作 });- 使用
setTimeout()或setInterval()与clearTimeout()或clearInterval()方法:这些方法可以更简单地管理定时器,因为它们可以返回一个函数,以便可以在需要时停止定时器。
javascript setTimeout(function() { // 在这里执行一些操作 }, 1000);javascript clearTimeout(function() { // 在这里执行一些操作 });- 使用
setInterval()和clearInterval()方法与setTimeout()和clearTimeout()方法结合使用:这些方法可以更有效地管理定时器,因为它们可以确保定时器在特定的时间内执行。
javascript setInterval(function() { // 在这里执行一些操作 }, 1000); setTimeout(function() { // 在这里执行一些操作 }, 2000);- 使用
setInterval()和clearInterval()方法与setTimeout()和clearTimeout()方法结合使用,同时返回一个函数,以便在需要时停止定时器。
javascript setInterval(function() { // 在这里执行一些操作 }, 1000); setTimeout(function() { // 在这里执行一些操作 }, 2000); setInterval(function() { // 在这里执行一些操作 }, 5000);- 使用
setInterval()和clearInterval()方法在特定的时间点执行一些操作:这些方法可以更有效地管理定时器,因为它们可以在特定的时间点执行操作。
javascript setInterval(function() { // 在这里执行一些操作 }, 1000); setTimeout(function() { // 在这里执行一些操作 }, 2000); setInterval(function() { // 在这里执行一些操作 }, 5000);- 使用
setInterval()和clearInterval()方法在任务完成后执行一些操作:这些方法可以更有效地管理定时器,因为它们可以在任务完成后执行操作。
javascript setInterval(function() { // 在这里执行一些操作 }, 1000); setTimeout(function() { // 在这里执行一些操作 }, 2000); setInterval(function() { // 在这里执行一些操作 }, 5000);这些优化策略可以提高代码的性能和效率,但应根据具体情况和需求进行选择。
- 使用JavaScript的
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
