webForumDet fria alternativet

onmouseover funkar inte i internet explorer

3 svar · 1 115 visningar · startad av pazante

pazanteMedlem sedan sep. 20092 inlägg
#1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- INCLUDE overall_header.html -->

<p class="{S_CONTENT_FLOW_END}<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --></p>
<!-- IF U_MCP --><p>{CURRENT_TIME} <br />[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ELSEIF S_USER_LOGGED_IN --><p>{CURRENT_TIME}</p><!-- ENDIF -->

<!-- IF S_DISPLAY_SEARCH or (S_USER_LOGGED_IN and not S_IS_BOT) -->
<!-- ENDIF -->
<head>
<center><big><big>Områdeskarta</big></big><BR>För muspekaren över någons tomtgräns för att ta reda på vem som bor där</center>
<img src="baliresindence-nob.png" width="826" height="1169" title="BALIresidence" usemap="#map" />
<!-- INCLUDE forumlist_body.html -->

<!-- INCLUDE overall_footer.html -->

<style type="text/css">

	#dhtmltooltip{
	position: absolute;
	width: 80px;
	border: 2px solid black;
	padding: 2px;
	background-color: lightyellow;
	visibility: hidden;
	z-index: 100;
	/*Remove below line to remove shadow. Below line should always appear last within this CSS*/
	filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135);
}

</style>	
</head>

<body>

<div id="dhtmltooltip"></div>

<script type="text/javascript">

/***********************************************
* Cool DHTML tooltip script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var offsetxpoint=-60 //Customize x offset of tooltip
var offsetypoint=20 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth)
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
else if (curX<leftedge)
tipobj.style.left="5px"
else
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetxpoint+"px"

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight)
tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
else
tipobj.style.top=curY+offsetypoint+"px"
tipobj.style.visibility="visible"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}
}

document.onmousemove=positiontip

</script>

<map name="map">
<area shape="poly" coords="256,991,196,990,198,947,253,948" onmouseover="ddrivetip('Bali1', '#EFEFEF')" href="http://www.blabla.se
 onmouseout="hideddrivetip()" alt="Bali1" />
</map>
</body>
</html>

Någon somkan hjälpa mig å förstå varför detta inte funkar i internet explorer
funkar hur fint som helst i firefox.

Så här ser det ut i internet explorer titta på nr43
internetexplorer.jpg

Så här ser det ut i firefox och så som jag vill att det ska se ut
med andra ord det kommer upp en ruta med ett namn
firfox.jpg

Mvh pazante

itpastornMedlem sedan feb. 2007278 inlägg
#2

Ursäkta om det låter hårt, men jag rekommenderar att du byter hela skriptet. Ett så föråldrat och fulkodat skript kommer bara skapa problem.

Skriptet skrevs på en tid då man endast tog hänsyn till två webbläsare: Netscape 6 och MSIE 5/6.

Om du bara vill ha ett tooltip, så finns ju alltid attributet "title". Så länge som du inte gör något speciellt med ditt tooltip, så räcker kanske det.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Håller med pastorn. Sätt lämpliga title-attribut på area-taggarna.

itpastornMedlem sedan feb. 2007278 inlägg
#4

Snabbt tillägg: title-attribut gör dessutom dina area-element tillgängligare.

Dessutom kan man aldrig ta 100 % för givet att användare har JavaScript aktiverat.

Om title-attribut inte är bra nog, så utgå från dem och lägg SEDAN på JavaScript (progressive enhancement).

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)