diff options
Diffstat (limited to 'mouseinspect.js')
-rw-r--r-- | mouseinspect.js | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/mouseinspect.js b/mouseinspect.js index c7adcf1..ceb5fc0 100644 --- a/mouseinspect.js +++ b/mouseinspect.js @@ -4,7 +4,7 @@ * @description display informations of the specified element and highlight it by mouse. * @description-ja マウスで指定した要素の情報をコマンドラインに表示&ハイライトする。 * @author janus_wel <janus_wel@fb3.so-net.ne.jp> - * @version 0.10 + * @version 0.11 * @minversion 2.0pre 2008/10/16 * ==/VimperatorPlugin== * @@ -12,11 +12,21 @@ * New BSD License * * USAGE - * :mouseinspect start inspect by mouse + * :mouseinspect * :mins + * -> start inspect by mouse * - * :nomouseinspect stop inspect and clear highlight + * :nomouseinspect * :nomins + * -> stop inspect and clear highlight + * + * SETTING + * blink_element_color: color. default is red. + * blink_element_opacity: opacity value. default is 0.5 . + * + * EXAMPLE + * let blink_element_color='green' + * let blink_element_opacity='0.7' * */ ( function () { @@ -32,16 +42,18 @@ function unhighlight() { d.parentNode.removeChild(d); } } + function highlight(element) { let doc = content.document; let div = doc.createElement('div'); + let [top, left] = getAbsoluteCoodinate(element); div.className = 'vimp_plugin_mouse'; div.style.position = 'absolute'; div.style.display = 'block'; div.style.zIndex = 2147483647; - div.style.top = element.offsetTop + 'px'; - div.style.left = element.offsetLeft + 'px'; + div.style.top = top + 'px'; + div.style.left = left + 'px'; div.style.width = element.offsetWidth + 'px'; div.style.height = element.offsetHeight + 'px'; div.style.backgroundColor = color; @@ -53,6 +65,15 @@ function highlight(element) { doc.body.appendChild(div); } +function getAbsoluteCoodinate(element) { + let top = 0, left = 0; + do { + top += element.offsetTop; + left += element.offsetLeft; + } while (element = element.offsetParent); + return [top, left]; +} + function elementInfo(event) { let element = event.target; if (element.ignore) { |