add hint element wrapper

jh-changes
Shin'ya Ueoka 7 years ago
parent f1c920e000
commit 99c1b83133
  1. 7
      src/content/hint.css
  2. 38
      src/content/hint.js

@ -0,0 +1,7 @@
.vimvixen-hint {
background-color: yellow;
border: 1px solid gold;
font-weight: bold;
position: absolute;
text-transform: uppercase;
}

@ -0,0 +1,38 @@
import './hint.css';
export default class Hint {
constructor(target, tag) {
this.target = target;
let doc = target.ownerDocument
let { top, left } = target.getBoundingClientRect();
this.element = doc.createElement('span');
this.element.className = 'vimvixen-hint';
this.element.textContent = tag;
this.element.style.top = top + 'px';
this.element.style.left = left + 'px';
this.show();
doc.body.append(this.element);
}
show() {
this.element.style.display = 'inline';
}
hide() {
this.element.style.display = 'none';
}
remove() {
this.element.remove();
}
activate() {
if (this.target.tagName.toLowerCase() === 'a') {
let href = this.target.href;
window.location.href = href;
}
}
}