You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

37 lines
807 B

import './hint.css';
export default class Hint {
constructor(target, tag) {
7 years ago
if (!(document.body instanceof HTMLElement)) {
throw new TypeError('target is not an HTMLElement');
}
this.target = target;
7 years ago
let doc = target.ownerDocument;
let { top, left } = target.getBoundingClientRect();
7 years ago
let { scrollX, scrollY } = window;
this.element = doc.createElement('span');
this.element.className = 'vimvixen-hint';
this.element.textContent = tag;
this.element.style.left = left + scrollX + 'px';
this.element.style.top = top + scrollY + 'px';
this.show();
doc.body.append(this.element);
}
show() {
this.element.style.display = 'inline';
}
hide() {
this.element.style.display = 'none';
}
remove() {
this.element.remove();
}
}