/* em 要素に触れると色変え */
<p>さて<em>頑張ろう</em>。もう<em>一息</em>だ。</p>
<script type="text/javascript">
(function () {
function addEventLi$tener (type, listener, useCapture) {
this./*@cc_on @if (@_jscript) attachEvent ('on' + @else@*/
addEventListener (/*@end@*/ type, listener, useCapture);
}
function removeEventLi$tener (type, listener, useCapture) {
this./*@cc_on @if (@_jscript) detachEvent ('on' + @else@*/
removeEventListener (/*@end@*/ type, listener, useCapture);
}
var TOListener = function () {
var l = arguments.callee;
l.element.style.color = l.colors[ l.index++ % l.colors.length ];
l.timerId = setTimeout (l, l.timeout);
};
TOListener.colors = [ 'green', 'red', 'pink', 'blue' ];
TOListener.timeout = 200;
TOListener.timerId = null;
TOListener.index = 0;
TOListener.element = null;
var MOListener = function (event) {
var moL = arguments.callee;
var toL = moL.TOListener;
var target = event.target || window.event.srcElement;
if (target.nodeName == 'EM') {
if (! toL.timerId) {
toL.element = target;
toL.timerId = setTimeout (moL.TOListener, toL.timeout);
}
} else {
clearTimeout (toL.timerId);
toL.timerId = null;
}
}
MOListener.TOListener = TOListener;
var ULListener = function () {
removeEventLi$tener.call (document, MOListener, false);
removeEventLi$tener.call (window, ULListener, false);
};
addEventLi$tener.call (document, 'mouseover', MOListener, false);
addEventLi$tener.call (window, 'unload', ULListener, false);
} )();
</script>var ULListener = function () {
removeEventLi$tener.call (document, MOListener, false);
removeEventLi$tener.call (window, ULListener, false);
};↓var ULListener = function () {
removeEventLi$tener.call (document, 'mouseover', MOListener, false);
removeEventLi$tener.call (window, 'unload', ULListener, false);
};if (document.implementation &&
document.implementation.hasFeature ('HTML', '1.0') &&
// document.implementation.hasFeature ('CSS2', '2.0') &&
// (document.implementation.hasFeature ('MouseEvents', '2.0') || typeof attachEvent != 'undefined') &&
typeof Function.prototype.call != 'undefined')
(function () {
function addEventLi$tener (type, listener, useCapture) {
this./*@cc_on @if (@_jscript) attachEvent ('on' + @else@*/
addEventListener (/*@end@*/ type, listener, useCapture);
}
function removeEventLi$tener (type, listener, useCapture) {
this./*@cc_on @if (@_jscript) detachEvent ('on' + @else@*/
removeEventListener (/*@end@*/ type, listener, useCapture);
}
//______________________________________________________________________
var TOListener = function () {
var l = arguments.callee;
l.element.style.color = l.colors[ l.index++ % l.colors.length ];
l.timerId = setTimeout (l, l.timeout);
};
TOListener.colors = [ 'green', 'red', 'pink', 'blue' ]; // 色リスト
TOListener.timeout = 200; // 変化する間隔(ミリ秒)
TOListener.timerId = null;
TOListener.index = 0;
TOListener.element = null;
//______________________________________________________________________
var MOListener = function (event) {
var moL = arguments.callee;
var toL = moL.TOListener;
var target = event.target || window.event.srcElement;
if (target.nodeName == moL.targetName) {
if (! toL.timerId) {
toL.element = target;
toL.timerId = setTimeout (moL.TOListener, toL.timeout);
}
} else {
clearTimeout (toL.timerId);
toL.timerId = null;
toL.element = null;
}
};
MOListener.targetName = 'EM'; // 対象にする要素名(大文字)
MOListener.TOListener = TOListener;
//______________________________________________________________________
var ULListener = function () {
var l = arguments.callee;
removeEventLi$tener.call (document, 'mouseover', l.MOListener, false);
removeEventLi$tener.call (window, 'unload', l, false);
};
ULListener.MOListener = MOListener;
//______________________________________________________________________
addEventLi$tener.call (document, 'mouseover', MOListener, false);
addEventLi$tener.call (window, 'unload', ULListener, false);
delete MOListener, TOListener, ULListener;
} )();/*@cc_on@*/ if (document.implementation && document.implementation.hasFeature ('HTML', '1.0') && /*@if (@_jscript) @_jscript_version > 5 && typeof attachEvent != 'undefined' && @end@*/ document.implementation.hasFeature ('CSS2', '2.0') && document.implementation.hasFeature ('HTMLEvents' , '2.0') && document.implementation.hasFeature ('MouseEvents', '2.0') && /*@end@*/ typeof Function.prototype.call != 'undefined' && typeof setTimeout != 'undefined') (function () { function addEventLi$tener (type, listener, useCapture) { this./*@if (@_jscript) attachEvent ('on' + @else@*/ addEventListener (/*@end@*/ type, listener, useCapture); } function removeEventLi$tener (type, listener, useCapture) { this./*@if (@_jscript) detachEvent ('on' + @else@*/ removeEventListener (/*@end@*/ type, listener, useCapture); } //______________________________________________________________________ var TOListener = function () { var l = arguments.callee; l.element.style.color = l.colors[ l.index = (l.index + 1) % l.colors.length ]; l.timerId = setTimeout (l, l.timeout); }; TOListener.colors = [ 'green', 'red', 'pink', 'blue' ]; TOListener.timeout = 200; TOListener.timerId = null; TOListener.index = 0; TOListener.element = null; //______________________________________________________________________ var MOListener = function (event) { var moL = arguments.callee; var toL = moL.TOListener; var target = event.target || window.event.srcElement; if (target.nodeName == moL.targetName) { if (! toL.timerId) { toL.element = target; toL.timerId = setTimeout (moL.TOListener, toL.timeout); } } else { clearTimeout (toL.timerId); toL.timerId = null; toL.element = null; } }; MOListener.targetName = 'EM'; MOListener.TOListener = TOListener; //______________________________________________________________________ var ULListener = function () { var l = arguments.callee; removeEventLi$tener.call (document, 'mouseover', l.MOListener, false); removeEventLi$tener.call (window , 'unload' , l , false); }; ULListener.MOListener = MOListener; //______________________________________________________________________ addEventLi$tener.call (document, 'mouseover', MOListener, false); addEventLi$tener.call (window , 'unload' , ULListener, false); MOListener = TOListener = ULListener = null; } )();