Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 触发onclick时div不移动?_Javascript_Html_Css - Fatal编程技术网

Javascript 触发onclick时div不移动?

Javascript 触发onclick时div不移动?,javascript,html,css,Javascript,Html,Css,你能告诉我为什么我的JS不工作吗 当我在地图中单击时,假设将mark div移动到鼠标xy。打开控制台,您将看到: 未捕获的TypeError:无法读取未定义的属性“MouseX” 在javascript代码的第33行中,document.Show是未定义的 document.Show.MouseX.value = tempX; 当您单击时,您会看到: 未捕获的TypeError:无法读取null的属性“style” 在第52行附近,其中标记为空: <div id="map" oncl

你能告诉我为什么我的JS不工作吗


当我在地图中单击时,假设将mark div移动到鼠标xy。

打开控制台,您将看到:

未捕获的TypeError:无法读取未定义的属性“MouseX”

在javascript代码的
第33行
中,
document.Show
未定义的

document.Show.MouseX.value = tempX;
当您单击
时,您会看到:

未捕获的TypeError:无法读取null的属性“style”

第52行
附近,其中
标记

<div id="map" onclick="

mark.style.left = tempX + 'px';
mark.style.top  = tempY + 'px';

">
    <div id="mark"></div>

如何在firefox中打开控制台?另外,如何解决这些问题?我是JS的初学者。@prime:在Firefox中,您需要下载一个名为Firebug的扩展。然后你可以点击窗口底部的bug图标,你会看到底部有一系列的面板。与此同时,我刚刚更新了我的答案。将
标记移到页面底部。它需要在成功加载
“mark”
元素后运行。工具>错误控制台也适用于FF中的非Firebug用户。谢谢@Matt。我更经常使用Chrome,所以我对FF同样熟悉。
<body>
    <div id="map" onclick="

    mark.style.left = tempX + 'px';
    mark.style.top  = tempY + 'px';

    ">
        <div id="mark"></div>            
    </div>
    <script type="text/javascript">
    <!--
        var IE = document.all?true:false;
        if (!IE) document.captureEvents(Event.MOUSEMOVE)
        document.onmousemove = getMouseXY;

        var mark = document.getElementById('mark');

        var tempX = 0;
        var tempY = 0;
        function getMouseXY(e) {
            if (IE) { // grab the x-y pos.s if browser is IE
                tempX = event.clientX + document.body.scrollLeft;
                tempY = event.clientY + document.body.scrollTop;
            }
            else {  // grab the x-y pos.s if browser is NS
                tempX = e.pageX;
                tempY = e.pageY;
            }  
            if (tempX < 0){tempX = 0;}
            if (tempY < 0){tempY = 0;}

            document.Show.MouseX.value = tempX;
            document.Show.MouseY.value = tempY;
            return true;
        }
    //-->
    </script>
</body>