为什么这不起作用?使用鼠标指针推动盒子

2024-01-15

我是 JavaScript 的初学者,试图制作一个简单的脚本,使用鼠标指针推动一个盒子,但不幸的是由于某种原因它不起作用,我希望你能帮助我。

(这个脚本真的很原始,到现在为止只从左边推动盒子)。

索引.html:

<html>
<head>
    <title>Chase the box</title>
    <style>
        body {
        }

        .css-box{
            width : 100px;
            height : 100px;
            margin : auto;
            background-color : blue;
        }

    </style>
</head>

<body>
    <div id="box" class="css-box"></div>
    <script type="text/javascript" src="script.js"></script>
</body>

脚本.js:

var box = document.getElementById("box");

var pushBox = function(e){
    if(e.pageX == box.offsetLeft){
        box.style.left = box.style.left + 1 + "px";
    }
};

document.addEventListener("mousemove" , pushBox);

JQuery 版本,但完成的功能与您尝试执行的操作相同

http://jsfiddle.net/3mxC3/1/ http://jsfiddle.net/3mxC3/1/

我在你的脚本中看到的主要问题是 e.pageX == box.offsetLeft 意味着只有当 pageX 恰好是 offsetLeft 时才会触发它。

mousemove 事件不会触发每个像素,因此这种方法不起作用。实现它的最简单方法是将鼠标移动到实际的框上(因此只有当用户鼠标悬停在框上时才会触发)

其次,在盒子上设置 left 属性没有任何作用,因为左/右是通过 margin: auto 设置的。将其更改为position:absolute使其实际上关注左侧属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这不起作用?使用鼠标指针推动盒子 的相关文章

  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • 使用浏览器内的 JS 数值求解三角方程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定变量值s v and h 并给定一个库 例如数字 js http www numericjs com index php我怎样才能用数
  • 使用 Javascript 实现 Tinder 风格的拖放手势?

    我正在尝试找出哪些库可以用于仅使用 Javascript 的 Tinder 风格拖放手势 需要创建一个响应拖动手势的 HTML 元素 触摸并按住时 允许元素跟随用户的手指移动 当用户移开手指时 该元素会 动画回到原来的位置 如果元素在释放时
  • 如何使用jquery格式化数字

    我正在尝试删除 之后的数字 然后我想格式化数字 16810900 211233 喜欢这个 16 810 900 但我不知道该怎么做 这是我的 html 是这样的 div class main p class active 10200 00
  • 如何根据另一个动态下拉列表的值创建动态下拉列表?

    我有一个下拉菜单 当我选择一个选项时 它会创建一个动态下拉菜单 到目前为止 一切都很好 但我想创建另一个动态下拉列表 现在基于另一个动态下拉列表的值 我该怎么做 第一个动态下拉列表有效 我猜第二个无效 因为动态变量 div 没有静态 ID
  • 使用 Charts.js 禁用动画

    我在使用 Charts js 关闭动画时遇到一些问题 这是我的代码 var pieData value 30 color F38630 value 50 color E0E4CC value 100 color 69D2E7 var myP
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • 按日期对 JSON 进行排序

    我知道这一定相对简单 但我有一个 JSON 数据集 我想按日期排序 到目前为止 我每次都会遇到问题 现在我将日期存储为this lastUpdated 如果有帮助的话 我可以访问 jquery 但我意识到 sort 是本机 JS 提前致谢
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 如何垂直打印数组中的字符串元素? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个数组 我想垂直打印每个元素 例如 myArr abc def ghi 输出应该是 a d g b e h c f
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 按钮导致页面重新加载

    我在我的页面上使用 html 和 jquery 在我的 html 中 我有一个按钮 单击该按钮将触发一个功能 当页面加载时 我调用文档准备中的主函数 这是我的代码 div div
  • 正则表达式获取两个方括号之间的数字

    您好 我需要使用正则表达式在 JavaScript 中获取两对方括号内的字符串 这是我的字符串 12 23 asd 到目前为止我尝试的是使用这种模式 d 我需要获得价值12使用正则表达式 您可以使用以下正则表达式 d 这将提取12 from
  • Firefox 和 Chrome 为 offsetTop 提供了不同的值

    我试图相对于输入字段定位一个跨度元素 让我们称之为 工具提示跨度 为此 我将工具提示跨度和输入字段包装在另一个跨度元素中 我们称之为 包装器跨度 该元素具有position relative 然后我设置position absolute在工
  • Modernizr 未将类应用于 html 标签

    我目前正在构建一个网站 我需要使用 Modernizr 但由于某种原因 它没有将类应用到 html 标签 因为它应该 我的代码如下所示
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • Chrome 中的 addEventListener

    我正在关注 Lynda com 上有关新 DOM 事件模型的教程 这是我正在使用的代码 function addEventHandler oNode sEvt fFunc bCapture if typeof window event un
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I

随机推荐

  • R Shiny:将reactiveValues()与data.table按引用分配一起使用

    我有一个闪亮的应用程序 其中多个反应组件使用计算速度很慢的函数的相同结果 为了避免多次计算慢函数 我可以使用reactiveValues 当输入发生变化时重新计算函数 并使结果可供所有需要它的反应组件使用 但是 如果reactiveValu
  • 无法解释的语法错误[重复]

    这个问题在这里已经有答案了 我遇到了一个我根本无法解释的语法错误 Code import React Component from react class Button extends Component handleClick gt th
  • 将内置函数插入 VS Code 扩展的正确方法

    介绍 我目前正在开发一个基于 Bluegiga BLE 112 模块的应用程序 该模块可使用 BGScript 脚本语言进行编程 然而 我发现的唯一对 BGScript 有某种支持的编辑器是 Notepad 它不适合我的需要 因此 我开始开
  • 如何将链接中的变量传递给 django 视图

    我有一个 html 表单 它使用 for 循环显示数据 tbody for sku lid stk mrp sp stts in product data tr td a class btn link href product produc
  • 如何在 PHP 中将 MySQL 数据库转换为 SQLite?

    我需要 PHP 代码来转换数据库 我试过如何使用 PHP 将 mysql 转换为 SQLite https stackoverflow com questions 10226067 how to convert mysql to sqlit
  • Android 4.0 ICS 中通话音频流修改

    我一直在从事一个项目 该项目将从呼叫流修改中受益匪浅 这已被反复提及 假设为无法实现 因为大多数人认为通话音频的硬件环路与设备的主 MCU 完全断开 诸如此类的问题将音频流式传输至 Android 电话 https stackoverflo
  • OSX:当文件出现在文件夹中时执行bash脚本

    我正在尝试编写自己的屏幕截图上传器脚本 我快到了 OSX 自动将屏幕截图上传到 imageBin 并将 URL 放入剪贴板 https stackoverflow com questions 21371254 osx automatical
  • 如何配置 SCP/SFTP 文件存储?

    我的 Laravel 应用程序应该将文件复制到另一个远程主机 远程主机只能通过带有私钥的 SCP 进行访问 我想配置一个新的文件存储 https laravel com docs 5 5 filesystem 与FTP类似 https la
  • 将图像从 FilePicker/Intent 复制到另一个目录

    我正在尝试将从 Intent 收到的图像复制到另一个目录 但我还无法让它工作 需要帮忙 我的日志猫 04 29 14 56 22 778 31620 31620 com example krupal sqlitetest I Choreog
  • Elasticsearch 不同的过滤器值

    我在 elasticsearch 中有一个大型文档存储 并且想要检索不同的过滤器值以显示在 HTML 下拉列表中 一个例子是这样的 name John Doe deparments name Accounts name Management
  • ASP.NET MVC 和存储库模式理解

    所以我对 ASP NET MVC 和界面设计非常陌生 我问了很多问题 读了很多文章 试图弄清楚这一切 由于工作危机 我被要求尽我所能并学习这个环境 虽然理解起来很令人沮丧 但我正在慢慢理解它 I have created an image
  • 如何从具有相同键和值的两个数组中删除值?

    我有两个数组 array1 array param1 demo param2 some param3 array2 array value1 demo value2 some value3 我想比较这两个数组并删除所有重复值 最后 我想要这
  • 只从套接字接收一个字节

    我使用 python 编写了一个服务器程序 我试图获取一个字符串 但我只得到一个字符 我如何接收字符串 def handleclient connection while True rec connection recv 200 if re
  • 使用可运行的同一实例初始化两个线程

    使用同一个可运行对象实例初始化两个线程是不是不好的编程 使用可运行对象的单独实例进行初始化会有什么区别 并且同一可运行对象实例共享内存位置与性能有什么关系吗 public static void main String args throw
  • NPM-AUDIT 发现高漏洞。我应该做些什么?

    npm audit运行我的项目并得到这个 高指令注入 Angular devkit build Angular dev 的依赖关系 路径 angular devkit build angular gt ngtools webpack gt
  • HTML 嵌套规则到底在哪里? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人可以提供一个包含所有 HTML 最好是 HTML5 嵌套规则的文档的链接吗 例如 你不能把 div
  • 控制台2种颜色晒伤

    我正在尝试使用 Console2 在 Windows 7 电脑上使用 Solarized 颜色 但我无法让颜色正常工作 我尝试按照建议更改 console xml 中的条目here https github com stevenharman
  • 实现 ICollectionViewLiveShaping

    How is ICollectionViewLiveShaping为了过滤的目的而实施 是不是类似 public ICollectionView WorkersEmployed get set WorkersEmployed new Col
  • 如何将SQL Server查询结果的数据转换为JSON格式?

    我刚刚开始了解 Ajax 和 JSON 格式 我正在构建一个非常简单的地址簿 因此 为了简单起见 假设我有一个表有 3 列 Name Email and Phone 我的javascript jquery不是刚学的最好 但我想将从我的SQL
  • 为什么这不起作用?使用鼠标指针推动盒子

    我是 JavaScript 的初学者 试图制作一个简单的脚本 使用鼠标指针推动一个盒子 但不幸的是由于某种原因它不起作用 我希望你能帮助我 这个脚本真的很原始 到现在为止只从左边推动盒子 索引 html