14. marts 2003 - 11:50Der er
11 kommentarer og 1 løsning
onmouseover med JavaSript!
Jeg har et html kode med "div" som følge: <div id='$_50100049_$' STYLE='POSITION:absolute'<img src='web_kort/roed.gif'></A></div>
Jeg vil gerne have lavet en onmouseover med følgende javascript. <div id='$_50100049_$' STYLE='POSITION:absolute'><A onmouseover=doTooltip(event,0) onmouseout=hideTip() href="#"><img src='web_kort/roed.gif'></A></div>
men her får jeg en javascript fejl. hvad laver jeg forkert?
var dom = (document.getElementById) ? true : false; var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ns4 = (document.layers && !dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;
var origWidth, origHeight; if (ns4) { origWidth = window.innerWidth; origHeight = window.innerHeight; window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); } }
if (nodyn) { event = "nope" }
var tipFollowMouse= true; var tipWidth= 160; var offX= 12; // how far from mouse to show tip var offY= 12; var tipFontFamily= "Verdana, arial, helvetica, sans-serif"; var tipFontSize= "8pt"; var tipFontColor= "#000000"; var tipBgColor= "#DDECFF"; var tipBorderColor= "#000080"; var tipBorderWidth= 1; var tipBorderStyle= "ridge"; var tipPadding= 4;
var messages = new Array(); messages[0] = new Array('','Ejendommen <b>Amager Landevej </b>51, 2. tv.',"#CCFFCC"); messages[1] = new Array('','anything',"#CCFFCC"); messages[2] = new Array('','Opholdsstue',"#CCFFCC"); messages[3] = new Array('','Køkken',"#CCFFCC"); messages[4] = new Array('','Køkken',"#CCFFCC"); messages[5] = new Array('','Køkken',"#CCFFCC"); messages[6] = new Array('','Opholdsstue',"#CCFFCC"); messages[7] = new Array('','Badeværelse',"#CCFFCC"); messages[8] = new Array('','Udsigt fra altan',"#CCFFCC"); messages[9] = new Array('','Soveværelse',"#CCFFCC"); messages[10] = new Array('','Opholdsstue',"#CCFFCC"); messages[11] = new Array('','Opholdsstue',"#CCFFCC"); messages[12] = new Array('','Soveværelse',"#CCFFCC"); messages[13] = new Array('','Soveværelse',"#CCFFCC"); messages[14] = new Array('','Soveværelse',"#CCFFCC"); if (document.images) { var theImgs = new Array(); for (var i=0; i<messages.length; i++) { theImgs[i] = new Image(); theImgs[i].src = messages[i][0]; } } var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%">'; var midStr = '</td></tr><tr><td valign="top">'; var endStr = '</td></tr></table>'; var tooltip, tipcss; function initTip() { if (nodyn) return; tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null; tipcss = (ns4)? document.tipDiv: tooltip.style; if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites tipcss.width = tipWidth+"px"; tipcss.fontFamily = tipFontFamily; tipcss.fontSize = tipFontSize; tipcss.color = tipFontColor; tipcss.backgroundColor = tipBgColor; tipcss.borderColor = tipBorderColor; tipcss.borderWidth = tipBorderWidth+"px"; tipcss.padding = tipPadding+"px"; tipcss.borderStyle = tipBorderStyle; } if (tooltip&&tipFollowMouse) { if (ns4) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = trackMouse; } }
window.onload = initTip;
var t1,t2; // for setTimeouts var tipOn = false; // check if over tooltip link function doTooltip(evt,num) { if (!tooltip) return; if (t1) clearTimeout(t1); if (t2) clearTimeout(t2); tipOn = true; if (messages[num][2]) var curBgColor = messages[num][2]; else curBgColor = tipBgColor; if (messages[num][3]) var curFontColor = messages[num][3]; else curFontColor = tipFontColor; if (ns4) { var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>'; tooltip.write(tip); tooltip.close(); } else if (ie4||ie5||ns5) { var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr; tipcss.backgroundColor = curBgColor; tooltip.innerHTML = tip; } if (!tipFollowMouse) positionTip(evt); else t1=setTimeout("tipcss.visibility='visible'",100); }
var mouseX, mouseY; function trackMouse(evt) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; if (tipOn) positionTip(evt); }
function positionTip(evt) { if (!tipFollowMouse) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; } var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth; var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft; var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop; if ((mouseX+offX+tpWd)>winWd) tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px"; else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px"; if ((mouseY+offY+tpHt)>winHt) tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px"; else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px"; if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100); }
function hideTip() { if (!tooltip) return; t2=setTimeout("tipcss.visibility='hidden'",100); tipOn = false; }
den virker fint, men hvis Jeg prøve tilføre den funktion på følgende script virker den ikke! <html> <head> <SCRIPT language=javascript type=text/javascript> <!--
var dom = (document.getElementById) ? true : false; var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ns4 = (document.layers && !dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;
var origWidth, origHeight; if (ns4) { origWidth = window.innerWidth; origHeight = window.innerHeight; window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); } }
if (nodyn) { event = "nope" }
var tipFollowMouse= true; var tipWidth= 160; var offX= 12; // how far from mouse to show tip var offY= 12; var tipFontFamily= "Verdana, arial, helvetica, sans-serif"; var tipFontSize= "8pt"; var tipFontColor= "#000000"; var tipBgColor= "#DDECFF"; var tipBorderColor= "#000080"; var tipBorderWidth= 1; var tipBorderStyle= "ridge"; var tipPadding= 4;
var messages = new Array(); messages[0] = new Array('','Agerskov Brandstation',"#CCFFCC"); messages[1] = new Array('','Simon Moos A/S - kloakservice (Agerskov)',"#CCFFCC"); messages[2] = new Array('','Gammelskov Maskinstation',"#CCFFCC"); messages[3] = new Array('','Agerskov Containerplads',"#CCFFCC"); messages[4] = new Array('','Bredebro Komm.'s Olie- og kemikaliemodt.',"#CCFFCC"); messages[5] = new Array('','Bredebro Kommunes Containerplads',"#CCFFCC"); messages[6] = new Array('','Gråsten Kraftvarmeværk',"#CCFFCC"); messages[7] = new Array('','Badeværelse',"#CCFFCC"); messages[8] = new Array('','Udsigt fra altan',"#CCFFCC"); messages[9] = new Array('','Gråsten Brandstation',"#CCFFCC"); messages[10] = new Array('','Gråsten Havn',"#CCFFCC"); messages[11] = new Array('','Bovrup Brandstation',"#CCFFCC"); messages[12] = new Array('','Danish Crown, Blans',"#CCFFCC"); messages[13] = new Array('','Sundeved Kommunes Materialegård',"#CCFFCC"); messages[14] = new Array('','Vester Sottrup Containerplads',"#CCFFCC"); if (document.images) { var theImgs = new Array(); for (var i=0; i<messages.length; i++) { theImgs[i] = new Image(); theImgs[i].src = messages[i][0]; } } var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%">'; var midStr = '</td></tr><tr><td valign="top">'; var endStr = '</td></tr></table>'; var tooltip, tipcss; function initTip() { if (nodyn) return; tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null; tipcss = (ns4)? document.tipDiv: tooltip.style; if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites tipcss.width = tipWidth+"px"; tipcss.fontFamily = tipFontFamily; tipcss.fontSize = tipFontSize; tipcss.color = tipFontColor; tipcss.backgroundColor = tipBgColor; tipcss.borderColor = tipBorderColor; tipcss.borderWidth = tipBorderWidth+"px"; tipcss.padding = tipPadding+"px"; tipcss.borderStyle = tipBorderStyle; } if (tooltip&&tipFollowMouse) { if (ns4) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = trackMouse; } }
window.onload = initTip;
var t1,t2; // for setTimeouts var tipOn = false; // check if over tooltip link function doTooltip(evt,num) { if (!tooltip) return; if (t1) clearTimeout(t1); if (t2) clearTimeout(t2); tipOn = true; if (messages[num][2]) var curBgColor = messages[num][2]; else curBgColor = tipBgColor; if (messages[num][3]) var curFontColor = messages[num][3]; else curFontColor = tipFontColor; if (ns4) { var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>'; tooltip.write(tip); tooltip.close(); } else if (ie4||ie5||ns5) { var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr; tipcss.backgroundColor = curBgColor; tooltip.innerHTML = tip; } if (!tipFollowMouse) positionTip(evt); else t1=setTimeout("tipcss.visibility='visible'",100); }
var mouseX, mouseY; function trackMouse(evt) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; if (tipOn) positionTip(evt); }
function positionTip(evt) { if (!tipFollowMouse) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; } var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth; var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft; var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop; if ((mouseX+offX+tpWd)>winWd) tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px"; else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px"; if ((mouseY+offY+tpHt)>winHt) tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px"; else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px"; if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100); }
function hideTip() { if (!tooltip) return; t2=setTimeout("tipcss.visibility='hidden'",100); tipOn = false; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.