aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--blinkelement.js24
-rw-r--r--mouseinspect.js31
2 files changed, 42 insertions, 13 deletions
diff --git a/blinkelement.js b/blinkelement.js
index b7b7e1a..4993f84 100644
--- a/blinkelement.js
+++ b/blinkelement.js
@@ -4,7 +4,7 @@
* @description blink specified elements.
* @description-ja 指定した要素を点滅させる。
* @author janus_wel <janus_wel@fb3.so-net.ne.jp>
- * @version 0.20
+ * @version 0.21
* @minversion 2.0pre 2008/10/16
* ==/VimperatorPlugin==
*
@@ -21,11 +21,9 @@
* -> clear blink all elements.
*
* SETTING
- * blink_element_interval: interval time. default is 800 msec.
- * blink_element_color: color for blink. default is red.
- * blink_element_sparecolor: use this value when target's background color
- * is same as color specified blink_element_color
- * or default. default is cyan.
+ * blink_element_interval: interval time. default is 800 msec.
+ * blink_element_color: color for blink. default is red.
+ * blink_element_opacity: opacity value. defualt is 0.5 .
*
* EXAMPLE
* let blink_element_interval='500'
@@ -45,14 +43,15 @@ const opacity = liberator.globalVariables.blink_element_opacity || 0.5;
function setBlink(element) {
let doc = content.document;
+ let [top, left] = getAbsoluteCoodinate(element);
let div = doc.createElement('div');
div.className = 'vimp_plugin_blinkelement';
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;
@@ -70,6 +69,15 @@ function setBlink(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 clearBlink(element) {
if (element.intervalId) clearInterval(element.intervalId);
element.parentNode.removeChild(element);
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) {