Changeset 24664
- Timestamp:
- 11/23/08 01:53:41 (7 weeks ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/vimperator-plugins/trunk/blinkelement.js
r24594 r24664 5 5 * @description-ja 指定した要素を点滅させる。 6 6 * @author janus_wel <janus_wel@fb3.so-net.ne.jp> 7 * @version 0. 117 * @version 0.20 8 8 * @minversion 2.0pre 2008/10/16 9 9 * ==/VimperatorPlugin== … … 31 31 * let blink_element_interval='500' 32 32 * let blink_element_color='green' 33 * let blink_element_ sparecolor='purple'33 * let blink_element_opacity='0.7' 34 34 * 35 35 * :bl content.document.getElementsByTagName('A'); … … 40 40 ( function () { 41 41 42 let intervalList = [];43 42 const interval = liberator.globalVariables.blink_element_interval || 800; 44 43 const color = liberator.globalVariables.blink_element_color || 'red'; 45 const spareColor = liberator.globalVariables.blink_element_sparecolor || 'cyan'; 44 const opacity = liberator.globalVariables.blink_element_opacity || 0.5; 45 const doc = content.document; 46 46 47 47 function setBlink(element) { 48 let originalColor = element.style.backgroundColor || 'inherit';49 let blinkColor = (originalColor == color) ? spareColor : color;48 let div = doc.createElement('div'); 49 div.className = 'vimp_plugin_blinkelement'; 50 50 51 element.style.backgroundColor = blinkColor; 52 let state = false; 53 let intervalId = setInterval( function () { 54 element.style.backgroundColor = state ? blinkColor : originalColor; 55 state = !state; 56 }, interval); 51 div.style.position = 'absolute'; 52 div.style.display = 'block'; 53 div.style.zIndex = 2147483647; 54 div.style.top = element.offsetTop + 'px'; 55 div.style.left = element.offsetLeft + 'px'; 56 div.style.width = element.offsetWidth + 'px'; 57 div.style.height = element.offsetHeight + 'px'; 58 div.style.backgroundColor = color; 59 div.style.opacity = opacity; 60 div.style.MozOpacity = opacity; 57 61 58 intervalList.push({ 59 id: intervalId, 60 element: element, 61 color: originalColor, 62 }); 62 div.intervalId = setInterval( 63 function () { 64 let d = div.style.display; 65 div.style.display = (d === 'block' ? 'none' : 'block'); 66 }, 67 interval 68 ); 69 70 doc.body.appendChild(div); 63 71 } 64 72 65 function clearBlink( i) {66 i .element.style.backgroundColor = i.color;67 clearInterval(i.id);73 function clearBlink(element) { 74 if (element.intervalId) clearInterval(element.intervalId); 75 element.parentNode.removeChild(element); 68 76 } 69 77 … … 109 117 'no blink', 110 118 function () { 111 while (intervalList.length) clearBlink(intervalList.pop()); 119 let divs = buffer.evaluateXPath('//div[contains(concat(" ", @class, " "), " vimp_plugin_blinkelement ")]'); 120 for (let d in divs) clearBlink(d); 112 121 }, 113 122 {}
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)