Jag har gjort en utselektering från en databas som skrivs ut som länkar på en sida. När jag för markören över raderna så vill jag presentera en popupptext unik för just den raden anropet serr ut så här:
<a href="DetaljFrm.php?annonsNummer=<? echo $rad["annonsNummer"]; ?>" onMouseOver="ViewData(<? echo $IdNr; ?>,<? echo $IdNr1; ?>,'visible')" onMouseOut="ViewData(<? echo $IdNr; ?>,<? echo $IdNr1; ?>,'hidden')"><? echo $annonsRubrik; ?></a>
och den anropade funktionen:'
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function ViewData(user,urlUser,ValueShow) {
var mousex = window.event.x;
var mousey = window.event.y;
user.style.visibility = ValueShow;
user.style.left = 500 ; //mousex +20;
user.style.top = 265 ; //mousey ;
urlUser.style.visibility = ValueShow;
urlUser.style.left = 13;
urlUser.style.top = 265 ;
if (ValueShow == 'hidden') {
kartLayer.style.visibility = 'visible';
}
if (ValueShow == 'visible') {
kartLayer.style.visibility = 'hidden';
}
}
// End -->
</script>
funkar perfekt i explorer men ej i firefox, vad är fel?
tydalMedlem sedan juni 20034 013 inlägg Du kan inte bara använda title?
<a href=DetaljFrm.php?" title="Popup-texten">test</a>
Annars ska du för det första ha <script type="text/javascript">
Sen skulle jag tro att det är window.event.x som inte är standard (kanske något IE-påhitt). Jag har använt muspositioner på en sida jag gjort, och då har jag gjort så här:
e = window.event;
if (e.pageX || e.pageY)
{
mousex = e.pageX;
mousey = e.pageY;
}
else
{
mousex = e.clientX + document.body.scrollLeft - document.body.clientLeft;
mousey = e.clientY + document.body.scrollTop - document.body.clientTop;
}
vad innehåller alla dina PHP koder?
visibility är olika i de två webbläsarna:
IE: visible/hidden
FF: show/hide
Enklare att använda dig av display istället (display none): http://www.w3schools.com/css/pr_class_display.asp
voigtann1: Näe... Det är visible/hidden som gäller i både och. show/hide gällde väl kanske för Netscape 4?
Däremot är det så att visibility funkar lite annorlunda mot display. visibility låter dig gömma elementet, men det tar fortfarande plats:
<script>
window.onload=function(){
document.getElementById('xxx').style.visibility = 'hidden';
}
</script>
123
<div id="xxx">456</div>
789
Ovanstående kod kommer orsaka en blank rad mellan 123 och 789.
display däremot definierar ett flertal sätt att visa ett element på, t ex inline (som föytande text) block (Fyrkantigt element) eller none (Elementet visas inte alls).
jag provade att byta ut raderna
var mousex = window.event.x;
var mousey = window.event.y;
mot
e=window.event;
var mousex = e.clientX + document.body.scrollLeft - document.body.clientLeft;
var mousey = e.clientY + document.body.scrollTop - document.body.clientTop;
för att testa i enbart firefox, men icke funkar det, vad har jag missat?
kolla http://www.allstuff.nu/köposälj/startfrm.php
i explorer för där funkar det som sagt.
För musen över texten under Bonusannonser så förstår ni hur det ska funka.