Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onmouseover区域在鼠标坐标处显示div内容_Javascript_Position_Mouse_Onmouseover_Area - Fatal编程技术网

Javascript onmouseover区域在鼠标坐标处显示div内容

Javascript onmouseover区域在鼠标坐标处显示div内容,javascript,position,mouse,onmouseover,area,Javascript,Position,Mouse,Onmouseover,Area,为什么这段代码不适用于firefox和ie? 我正在使用ie 10和firefox 25,使用chrome浏览器,它可以毫无问题地工作。 Firefox显示div,但不在正确的位置(鼠标坐标) javascript: <script> function show(id) { document.getElementById(id).style.display = "block"; var topPixel = event.clientY;

为什么这段代码不适用于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>

功能显示(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”;
};
函数隐藏(id){
document.getElementById(id).style.display=“无”;
};
css:

<style>
.show {display: none;position:absolute;}
</style>

.show{显示:无;位置:绝对;}
带有php的html($正确读取数据):


功能:当鼠标位于某个区域上时,应打开具有相应内容和鼠标坐标的div。

适用于我的FF17ESR、OS/2,也适用于IE和WebKit。
如果您希望块在mouseout上消失并在mouseover上出现,而不是在按钮单击时出现,那么只需定义适当的事件处理程序。

jsiddle pls?这个问题超出了问题中所述的范围,将来不太可能重现。好的,firefox上的thx可以,但ie不会work@user2961059为什么?你考过了吗
e=event | | window.event
是在IE上获取事件对象的推荐方法。什么失败了?可以给我控制台日志吗?你的脚本运行得很好,我认为它们的读取有问题id@user2961059他们是谁,他们的问题是什么?我读取了数据库的id,这样我就可以为每个div分配正确的区域…问题是div不会显示,因此我认为id或其他方面存在问题
<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=document.getElementsByTagName('div')[0];
btShow=document.getElementsByTagName('button')[0];
btHide=document.getElementsByTagName('button')[1];
btShow.onclick=function(){
    document.body.onmousemove=function(event){
        var e=event||window.event;
        div.style.left=e.clientX+"px";
        div.style.top=e.clientY+"px";
    }
    div.style.display="block";
}
btHide.onclick=function(){
    document.body.onmousemove=function(){};
    div.style.display="none";
}