2024-10-16 17:12:08 +08:00

55 lines
942 B
JavaScript

import Element from './Element'
import { noop } from './util/index.js'
import { innerWidth, innerHeight } from './WindowProperties'
export default class HTMLElement extends Element {
className = ''
childern = []
style = {
width: `${innerWidth}px`,
height: `${innerHeight}px`
}
insertBefore = noop
innerHTML = ''
constructor(tagName = '') {
super()
this.tagName = tagName.toUpperCase()
}
setAttribute(name, value) {
this[name] = value
}
getAttribute(name) {
return this[name]
}
get clientWidth() {
const ret = parseInt(this.style.fontSize, 10) * this.innerHTML.length
return Number.isNaN(ret) ? 0 : ret
}
get clientHeight() {
const ret = parseInt(this.style.fontSize, 10)
return Number.isNaN(ret) ? 0 : ret
}
getBoundingClientRect() {
return {
top: 0,
left: 0,
width: innerWidth,
height: innerHeight
}
}
focus() {
}
}