Så, var vill du att rutan skall hamna?
Som vanligt är JavaScript-koden högst relevant i sådana här fall.
:)
6 svar · 336 visningar · startad av diondra
Har gjort en kalender där vissa datum leder till en popupruta. Men, problemet är att rutan hamnar på helt fel ställe... bifogar en fil så att det kanske blir mer klart vad jag menar.
Koden ser för övrigt ut såhär:
<style type="text/css">
<!--
.tooltiptitle {
color: #FFFFFF;
text-decoration: none;
hand: default;
font-family: verdana;
font-weight: bold;
font-size: 7px
}
.tooltipcontent {
color: #FFFFFF;
text-decoration: none;
hand: default;
font-family: verdana;
font-weight: bold;
font-size: 7px
}
#ToolTip {
position: absolute;
top: 0px;
left: 0px;
width: 100px;
z-index: 10;
visibility: hidden;
}
-->
</style>
Sen är det såklart javascript kod och koden där linken blir till också... men kanske inte behöver ha med den här. Är rätt övertygad om att det är i ovanstående text som nåt är fel.

Så, var vill du att rutan skall hamna?
Som vanligt är JavaScript-koden högst relevant i sådana här fall.
:)
den ska hamna lite nedan till höger om siffran man håller över.... tex. bottom: 10; right: 5;
något sådant...
ah... koden är lång...
<body onmousemove="overhere()">
<script type="text/javascript" language="javascript">
<!--
var ie = document.all ? 1 : 0
var ns = document.layers ? 1 : 0
if(ns){doc = "document."; sty = ""}
if(ie){doc = "document.all."; sty = ".style"}
var initialize = 0
var Ex, Ey, topColor, subColor, ContentInfo
if(ie){
Ex = "event.x"
Ey = "event.y"
topColor = "#000000"
subColor = "#FFFFFF"
}
if(ns){
Ex = "e.pageX"
Ey = "e.pageY"
window.captureEvents(Event.MOUSEMOVE)
window.onmousemove=overhere
topColor = "#000000"
subColor = "#FFFFFF"
}
function MoveToolTip(layerName, FromTop, FromLeft, e){
if(ie){eval(doc + layerName + sty + ".top = " + (eval(FromTop) + document.body.scrollTop))}
if(ns){eval(doc + layerName + sty + ".top = " + eval(FromTop))}
eval(doc + layerName + sty + ".left = " + (eval(FromLeft) + 15))
}
function ReplaceContent(layerName){
if(ie){document.all[layerName].innerHTML = ContentInfo}
if(ns){
with(document.layers[layerName].document)
{
open();
write(ContentInfo);
close();
}
}
}
function Activate(){initialize=1}
function deActivate(){initialize=0}
function overhere(e){
if(initialize){
MoveToolTip("ToolTip", Ey, Ex, e)
eval(doc + "ToolTip" + sty + ".visibility = 'visible'")
}
else{
MoveToolTip("ToolTip", 0, 0)
eval(doc + "ToolTip" + sty + ".visibility = 'hidden'")
}
}
function EnterContent(layerName, TTitle, TContent){
ContentInfo = '<table border="0" width="150" cellspacing="0" cellpadding="0">'+
'<tr><td width="100%" bgcolor="#F0F0F0">'+
'<table border="0" width="100%" cellspacing="1" cellpadding="0">'+
'<tr><td width="100%" bgcolor='+topColor+'>'+
'<table border="0" width="90%" cellspacing="0" cellpadding="0" align="center">'+
'<tr><td width="100%">'+
'<font class="tooltiptitle"> '+TTitle+'<\/font>'+
'<\/td><\/tr>'+
'<\/table>'+
'<\/td><\/tr>'+
'<tr><td width="100%" bgcolor='+subColor+'>'+
'<table border="0" width="90%" cellpadding="0" cellspacing="1" align="center">'+
'<tr><td width="100%">'+
'<font class="tooltipcontent">'+TContent+'<\/font>'+
'<\/td><\/tr>'+
'<\/table>'+
'<\/td><\/tr>'+
'<\/table>'+
'<\/td><\/tr>'+
'<\/table>';
ReplaceContent(layerName)
}
//-->
</script>
<div id="ToolTip"></div>
Har du också en exempelkod som visar hur de olika funktionerna anropas då markören föres över en länk och som visar problemet?
:)
hmm...vadå för kod?
men det behövs ändå inte.... löste det själv genom att ändra lite i javascriptkoden.
tack ändå!