4 changed files with 114 additions and 109 deletions
@ -0,0 +1,92 @@ |
|||||
|
// DEBUG: 该文件仅适用于测试调试程序 正式版删除
|
||||
|
import { sendMessage } from './frame'; |
||||
|
|
||||
|
// 事件功能按钮 绑定动作 发送消息
|
||||
|
export function handleEventButtons() { |
||||
|
const eventButtons = document.querySelectorAll('div.events button'); |
||||
|
|
||||
|
eventButtons.forEach(item => { |
||||
|
item.addEventListener('click', function () { |
||||
|
const { event } = item.dataset; |
||||
|
|
||||
|
switch (event) { |
||||
|
case 'pause': |
||||
|
case 'continue': |
||||
|
setPauseButtonStatus(item, +item.dataset.status); |
||||
|
break; |
||||
|
} |
||||
|
changeButtonsDisplay(event); |
||||
|
sendMessage(event); |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// play code按钮 绑定动作 发送消息
|
||||
|
export function handlePlayCodeButtons() { |
||||
|
const actionButtons = document.querySelectorAll('div.actions button'); |
||||
|
|
||||
|
actionButtons.forEach(item => { |
||||
|
item.addEventListener('click', function () { |
||||
|
const { code } = item.dataset; |
||||
|
|
||||
|
sendMessage('play', code); |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 设置 暂停/继续 按钮的状态样式等 |
||||
|
* @param {HTMLElement} element |
||||
|
* @param {number} type |
||||
|
*/ |
||||
|
function setPauseButtonStatus(element, type) { |
||||
|
if (type === 0) { // 点击的是暂停
|
||||
|
element.dataset.status = '1'; |
||||
|
element.dataset.event = 'continue'; |
||||
|
element.textContent = '继续'; |
||||
|
element.classList.remove('btn-warning'); |
||||
|
element.classList.add('btn-success'); |
||||
|
} else { |
||||
|
// 点击的是继续 游戏
|
||||
|
element.dataset.status = '0'; |
||||
|
element.dataset.event = 'pause'; |
||||
|
element.textContent = '暂停'; |
||||
|
element.classList.remove('btn-success'); |
||||
|
element.classList.add('btn-warning'); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 切换按钮的显示状态 |
||||
|
* @param eventType |
||||
|
*/ |
||||
|
export function changeButtonsDisplay(eventType) { |
||||
|
const start = $id('start'); |
||||
|
const pause = $id('pause'); |
||||
|
const finish = $id('finish'); |
||||
|
const actionContainer = $id('action-container') |
||||
|
if (eventType === 'start') { // 点了开始
|
||||
|
start.classList.add('d-none'); |
||||
|
pause.classList.remove('d-none'); |
||||
|
finish.classList.remove('d-none'); |
||||
|
actionContainer.classList.remove('d-none'); |
||||
|
} else if (eventType === 'finish') { |
||||
|
start.classList.remove('d-none'); |
||||
|
pause.classList.add('d-none'); |
||||
|
finish.classList.add('d-none'); |
||||
|
actionContainer.classList.add('d-none'); |
||||
|
} else if ((eventType === 'pause')) { |
||||
|
actionContainer.classList.add('d-none'); |
||||
|
} else if (eventType === 'continue') { |
||||
|
actionContainer.classList.remove('d-none'); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 通过id获取元素 |
||||
|
* @param {string} id |
||||
|
* @returns {HTMLElement} |
||||
|
*/ |
||||
|
function $id(id) { |
||||
|
return document.getElementById(id); |
||||
|
} |
@ -1,11 +1,18 @@ |
|||||
import {handleEventButtons, handlePlayCodeButtons, onMessage, setFrameStyle} from "./frame"; |
import { handleEventButtons, handlePlayCodeButtons } from "./dom"; |
||||
|
import { onMessage, setFrameStyle } from "./frame"; |
||||
|
|
||||
window.addEventListener('load', init, false) |
window.addEventListener('load', init, false) |
||||
window.addEventListener('resize', setFrameStyle, false) |
window.addEventListener('resize', setFrameStyle, false) |
||||
|
|
||||
function init() { |
function init() { |
||||
onMessage(); |
onMessage(); // 监听处理接受到的message
|
||||
setFrameStyle(); |
setFrameStyle(); // 设置frame宽高
|
||||
handleEventButtons(); |
|
||||
handlePlayCodeButtons(); |
initDom(); |
||||
|
} |
||||
|
|
||||
|
// 初始化dom 正式程序不需要 就删除掉
|
||||
|
function initDom() { |
||||
|
handleEventButtons(); // 按钮绑定事件
|
||||
|
handlePlayCodeButtons(); // 事件play code 绑定事件
|
||||
} |
} |
||||
|
Loading…
Reference in new issue