Hej Ole. :oD
Som sædvanligt må jeg give dig ret. Jeg lavede derfor en bedre udgave.
Er der mere jeg har 'glemt'?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--
function gEl(strId){return document.getElementById(strId)}
function showDisp(strMsg){
var msg = document.createTextNode(strMsg);
var dsp = gEl("disp")
dsp.replaceChild(msg, dsp.firstChild);
}
function catchEvent(objElm, strEvent, pFunction){
if (objElm.addEventListener){ // FF
objElm.addEventListener(strEvent, pFunction, false);
} else if (objElm.attachEvent){ // IE
objElm.attachEvent("on"+strEvent, pFunction);
} else { // IE can do this, maybe some XYZbrowser has none of the above.
objElm["on"+strEvent] = pFunction;
objElm[strEvent] = pFunction;
}
}
var activeImg = false;
function _imgOver(evt){
var img = evt.target?evt.target:event.srcElement;
showDisp("over "+img.tagName+"#"+img.id);
img.setAttribute("src", img.getAttribute("srcOver"));
}
function _imgOut(evt){
var img = evt.target?evt.target:event.srcElement;
showDisp("out "+img.tagName+"#"+img.id);
img.setAttribute("src", img.getAttribute("srcOut"));
}
function clearActive(){
if (activeImg){
activeImg.setAttribute("srcOut", activeImg.getAttribute("srcBak"));
activeImg.setAttribute("src", activeImg.getAttribute("srcBak"));
activeImg = false;
}
}
function _imgClick(evt){
var img = evt.target?evt.target:event.srcElement;
if (img === activeImg) return;
clearActive();
img.setAttribute("srcOut", img.getAttribute("srcOver"));
activeImg = img;
showDisp("Active = "+img.getAttribute("id")+" - Click to clear");
}
window.onload=function(){
// preload
var overA = new Image();
overA.src = "2.gif";
var overB = new Image();
overB.src = "4.gif";
var imageA = gEl("imgA");
imageA.setAttribute("srcOver", overA.src);
imageA.setAttribute("srcOut", imageA.src);
imageA.setAttribute("srcBak", imageA.src);
catchEvent(imageA,"mouseover", _imgOver);
catchEvent(imageA,"mouseout", _imgOut);
catchEvent(imageA,"click", _imgClick);
var imageB = gEl("imgB");
imageB.setAttribute("srcOver", overB.src);
imageB.setAttribute("srcOut", imageB.src);
imageB.setAttribute("srcBak", imageB.src);
catchEvent(imageB,"mouseover", _imgOver);
catchEvent(imageB,"mouseout", _imgOut);
catchEvent(imageB,"click", _imgClick);
}
//--></script>
<style type="text/css">
</style>
</head>
<body>
<div><img id="imgA" src="1.gif" alt="imgA"> <img id="imgB" src="3.gif" alt="imgB"></div>
<br>
<div id="disp" onclick="clearActive();showDisp('Click an image');">Click an image</div>
</body>
</html>