【发布时间】:2013-11-09 17:35:43
【问题描述】:
为什么这段代码不能与firefox和ie一起使用? 我正在使用 ie 10 和 firefox 25,使用 chrome 可以正常工作。 Firefox 显示 div 但不在正确的位置(鼠标坐标)。
javascript:
<script>
function show(id) {
document.getElementById(id).style.display = "block";
var topPixel = event.clientY;
var leftPixel = event.clientX;
document.getElementById(id).style.top = topPixel + "px";
document.getElementById(id).style.left = leftPixel + "px";
};
function hide(id) {
document.getElementById(id).style.display = "none";
};
</script>
CSS:
<style>
.show {display: none;position:absolute;}
</style>
带有php的html($data读取正确):
<img src="picture.jpg" width="100" height="100" border="0" alt="img" usemap="#img">
<map name="img">
<?php while ($data = mysql_fetch_array($db_erg, MYSQL_ASSOC)) { ?>
<area shape="rect" coords="10,10,30,30" href="" alt="#" title="" onmouseover="show('<?php echo $data['id'];?>');" onmouseout="hide('<?php echo $data['id'];?>');" />
<div class="show" id="<?php echo $data['id'];?>">
<?php echo $data['text'];?>
</div>
<?php } ?>
</map>
功能:当鼠标在一个区域上时,应该打开一个具有相应内容和鼠标坐标的div。
【问题讨论】:
-
jsfiddle 好吗? jsfiddle.net
-
该问题超出了问题所述的范围,以后不太可能重现。
标签: javascript position mouse onmouseover area