db-lgtv-focus-engine
Version:
the Best TV focus engine
36 lines (31 loc) • 1.04 kB
JavaScript
import FEngine from "./class/FEngine";
import smoothscroll from './polyfill/smoothscroll';
let main = document.body.innerHTML
let style = document.createElement('style')
document.head.appendChild(style)
style.sheet.insertRule('.db-focus-engine::-webkit-scrollbar { width: 0 }', 0);
let content = document.createElement('div')
content.className = 'db-focus-engine'
content.style.height = '100vh'
content.style['overflow-y'] = 'scroll'
content.style.width = '100vw'
content.style['overflow-x'] = 'hidden'
content.innerHTML = main
document.body.innerHTML = ''
document.body.appendChild(content)
FEngine.prototype.$box = content
smoothscroll.polyfill();
window.FEngine = FEngine
window.getIdByDom = (el) => {
let id = 'db'
let child_dom = el
let parent_dom = el.parentNode
while (parent_dom) {
let index = Array.prototype.indexOf.call(parent_dom.childNodes, child_dom)
id = `${index}-${id}`
child_dom = parent_dom
parent_dom = parent_dom.parentNode
}
return id
}
export default FEngine