单击按钮时使球弹起

2024-03-26

I wrote a program to move a ball when a button is clicked. It is a part of experiment for a bigegr project:
Here is the screen shot:
website
And here is the code:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML5 Random Bouncing Ball</title>
<style type="text/css">
<!--
body { background-color:#ededed; font:normal 12px/18px Arial, Helvetica, sans-serif; }
h1 { display:block; width:600px; margin:20px auto; padding-bottom:20px; font:normal 24px/30px Georgia, "Times New Roman", Times, serif; color:#333; text-shadow: 1px 2px 3px #ccc; border-bottom:1px solid #cbcbcb; }

#myCanvas { background:#fff; border:1px solid #cbcbcb; }
#nav { display:block; width:100%; text-align:center; }
#nav li { display:block; font-weight:bold; line-height:21px; text-shadow:1px 1px 1px #fff; width:100px; height:21px; padding:5px; margin:0 10px; background:#e0e0e0; border:1px solid #ccc; -moz-border-radius:4px;-webkit-border-radius:4px; border-radius:4px; float:left; }
#nav li a { color:#000; display:block; text-decoration:none; width:100%; height:100%; }
-->
</style>
<script type="text/javascript">
function myFunction () {
    if(document.getElementById('button').clicked == true)
    {
        var context;
        var dx= 4;  
        var dy=4;
        var y=150;
        var x=10;
        function draw(){
            context= myCanvas.getContext('2d');
            context.clearRect(0,0,400,400);
            context.beginPath();
            context.fillStyle="#000000";
            context.arc(x,y,10,0,Math.PI*2,true);
            context.closePath();
            context.fill();
            if( x<0 || x>400)
            dx=-dx;
            if( y<0 || y>300)
            dy=-dy;
            x+=dx;
            y+=dy;
        }
        setInterval(draw,10); 
    }
}
</script>

</head>
<body>

<div id="container">

    <canvas id="myCanvas" width="400" height="300"></canvas>



</div>
<input id="button" type="submit" name="button" value="enter" onclick="myFunction();"/>

</body>
</html>  

问题是:当我单击该按钮时,球不会动画或移动。我哪里错了?


第 19 行的代码返回 undefined

document.getElementById('button').clicked == true 

删除 if 语句,它就可以工作了

我做了一个jsbin:http://jsbin.com/sozicuruja/1/ http://jsbin.com/sozicuruja/1/

function myFunction () {

        var context;
        var dx= 4;  
        var dy=4;
        var y=150;
        var x=10;
        function draw(){
            context= myCanvas.getContext('2d');
            context.clearRect(0,0,400,400);
            context.beginPath();
            context.fillStyle="#000000";
            context.arc(x,y,10,0,Math.PI*2,true);
            context.closePath();
            context.fill();
            if( x<0 || x>400)
            dx=-dx;
            if( y<0 || y>300)
            dy=-dy;
            x+=dx;
            y+=dy;
        }
        setInterval(draw,10); 
}
body { background-color:#ededed; font:normal 12px/18px Arial, Helvetica, sans-serif; }
h1 { display:block; width:600px; margin:20px auto; padding-bottom:20px; font:normal 24px/30px Georgia, "Times New Roman", Times, serif; color:#333; text-shadow: 1px 2px 3px #ccc; border-bottom:1px solid #cbcbcb; }

#myCanvas { background:#fff; border:1px solid #cbcbcb; }
#nav { display:block; width:100%; text-align:center; }
#nav li { display:block; font-weight:bold; line-height:21px; text-shadow:1px 1px 1px #fff; width:100px; height:21px; padding:5px; margin:0 10px; background:#e0e0e0; border:1px solid #ccc; -moz-border-radius:4px;-webkit-border-radius:4px; border-radius:4px; float:left; }
#nav li a { color:#000; display:block; text-decoration:none; width:100%; height:100%; }
<div id="container">

    <canvas id="myCanvas" width="400" height="300"></canvas>



</div>
<input id="button" type="submit" name="button" value="enter" onclick="myFunction();"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击按钮时使球弹起 的相关文章

  • 如何使用 Spring MVC 和 Thymeleaf 添加静态文件

    我的问题是如何添加 CSS 和图像文件等静态文件 以便我可以使用它们 我正在使用 Spring MVC 和 Thymeleaf 我查看了有关此主题的各种帖子 但它们对我没有帮助 所以我才来问 根据这些帖子 我将 CSS 和图像文件放在res
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • 半流体布局 CSS/Html

    我有一个两列布局 其中右列的静态宽度为 350px 左列的宽度应填充页面的其余部分 或者至少这是我想要发生的事情 但不幸的是事实并非如此 看一下我的 css html http jsfiddle net CmJ7P http jsfiddl
  • 当系列没有相同的时间值时,如何在工具提示中显示所有系列

    我有一个显示多个时间序列的图表 不同时间序列不会同时采样 有没有办法在工具提示中显示所有系列 在示例中 您可以看到所有系列都包含在前 2 个点的工具提示中 因为它们是同时采样的 其余点仅包含 1 个系列 var myChart echart
  • FileReader 在 Ionic 2 中未触发 onloadend

    我正在尝试使用 cordova file plugin 读取本地文件 目前我可以读取本地目录的内容并选择单个文件 但我在获取文件内容时遇到问题 这是我的函数 从列表中选择文件后单击按钮即可调用该函数 import window resolv
  • 如何将值从孩子的孩子传递给父母?

    我有一个父组件 有一个子组件 它也有一个子组件 Parent Child One child of parent Child Two child of child 当在子二中定义一个值时 我使用回调将该值传递给子一 但我也想将相同的值传递回
  • 使标签充当输入按钮

    我怎样才能做一个 a href http test com tag test Test a 就像表单按钮一样 通过充当表单按钮 我的意思是 当单击链接执行操作时method get 或 post 以便能够通过 get 或 post 捕获它
  • 从数组创建树并将父字段的表示形式更改为对象而不是 ID

    我堆满了琐碎的问题 但找不到解决方案 任何帮助将不胜感激 我有一个对象数组 id 1 title home parent null id 2 title about parent null id 3 title team parent 2
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • 如何从代码隐藏中向我的 div 添加点击事件?

    如何从代码隐藏中向我的 div 添加点击事件 当我点击 div 时 会出现一个消息框 其中显示 您想删除它吗 并在框中显示 是 或 否 全部来自后面的代码 while reader Read System Web UI HtmlContro
  • 如何将 Django 数据库中的模板标签解释/渲染为 HTML

    我正在尝试添加带有来自 Django 管理站点的图像的帖子 但安全 自动转义关闭过滤器无法解释 Django 的模板标签 My input and page look like 复制图像地址 给出http 127 0 0 1 8000 7B
  • 使用 jQuery 的 ajax 方法以 blob 形式检索图像

    我最近问了另一个 相关 问题 这导致了这个后续问题 提交数据而不是输入表单的文件 https stackoverflow com questions 17643142 submitting data instead of a file fo
  • JS - 如何将图像对象变成灰度并显示它

    基本上 当单击按钮时 它会告诉移动设备转到相机 一旦相机拍照 它就会给我图像数据 它被称为数据 URL 吗 这是我处理它的代码 var imagesrc data image jpeg base64 imageData var myimag
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • Google 地图 v3 - 阻止 API 加载 Roboto 字体

    Google 将样式添加到地图容器中以覆盖我的样式 我知道如何解决这个问题 但API v3 8 9 exp 还加载了我并不真正需要 想要的网络字体 Roboto 有什么设置 选项 方法可以解决这个问题吗 我可以阻止 API 添加额外的 CS
  • 调用一个从 AngularJS 表达式本地计算值的函数是不是很糟糕?

    我读了关于使用范围的一些 AngularJS 陷阱的文章 http thenittygritty co angularjs pitfalls using scopes 并且它指出您不应在表达式中使用函数 并且我知道每次框架认为需要时都可能会
  • gjs 如何使用 g_data_input_stream_read_line_async 在 Gnome Shell 扩展中读取套接字流

    我正在尝试编写一个 Gnome Shell 扩展 通过 Socket 服务器与 Arduino 进行通信 服务器和 Arduino 运行良好 但我陷入了监听传入服务器消息的扩展代码 因为我需要一种非阻塞方法 所以使用异步读取行 https
  • 了解客户端文件的对象 URL 以及如何释放内存

    我在用createObjectURL获取本地图像文件的引用 URL 当我完成文件 图像后 我打电话revokeObjectURL释放该内存 一切对我来说都很好 但我只是想确保我释放了我能释放的所有内存 我检查后出现了我的担忧chrome b
  • 如何向 SvelteKit/Vite 应用添加版本号?

    我正在尝试在我的 SvelteKit 应用程序中创建一个系统 它会在某个页面上向您显示有关当前应用程序版本的信息 最好是 Git 提交哈希和描述 我尝试使用Vite的定义功能 https vitejs dev config define在构

随机推荐

  • 神奇的 sprintf 函数 - 如何包装它?

    我正在尝试接听电话sprintf功能 这是我的尝试 let p format args That was sprintf format args let a a let b b let z1 p A s has invalid b a 这似
  • 将 strsplit 的结果分配给数据框的多列

    我正在尝试将数据框中的字符向量拆分为三个不同的向量 我的数据是这样的 gt df lt data frame filename c Author1 2010 Title of paper Author2 et al 2009 Title o
  • 如何在 WinRT 中将 VirtualKey 转换为非美国键盘布局的字符?

    在标准 NET 中 存在 ToAscii ToUnicode 和 MapVirtualKey 函数来处理此功能 但似乎尚未将等效函数或库引入 Metro WinRT 中 如果 Metro WinRT 中实际上没有公开的等效函数或库 那么自定
  • VSCODE 代码片段 PHP 自动填充命名空间

    我正在尝试创建一个VSCode 代码片段 https code visualstudio com api language extensions snippet guide for PHP https php net自动放置命名空间 基于文
  • 将特定文件的不同内容保留在 Git 分支中

    我有一个config php不同分支的内容应该不同 例如testing and master 我在另一个问题里问过 防止将 master 中的文件与 Git 合并 https stackoverflow com questions 1077
  • 如何优化4英寸兼容3.5英寸的屏幕尺寸

    我用故事板制作了一个4英寸的应用程序 但我发现我也必须支持 3 5 英寸屏幕 所以我转到故事板并单击将显示尺寸从 4 英寸切换到 3 5 的按钮 因为在 3 5 英寸中我的应用程序在底部被切断 不过我完成了 3 5 英寸的设计 又回到了 4
  • 如何使用 thymeleaf 在列表中添加对象?

    我在会话中有一个对象 例如一个部门 这个部门有子对象 我得到了它的子对象列表 现在我想在这个列表中添加这个部门对象 这在服务器端非常简单 但是可以吗这个在百里香叶里 是的 可以在 Thymeleaf 中执行此操作 因为它使用对象图导航语言
  • 如何将 git 集成到 m2eclipse 中?

    我正在尝试 m2eclipse 我发现它有一些功能可以直接从 SCM 签出 Maven 项目 根据这一页 http www sonatype com books m2eclipse book reference creating html
  • 在Android上通过Intent启动Huawei Petal Maps Directions

    是否可以推出华为花瓣地图 使用意图从 A 点导航到 B 点 就像谷歌地图一样 如果是 怎么办 是的 您可以使用 Intent 来启动 Petal Map 应用程序 然后使用应用程序中的导航功能 深层链接示例 mapapp navigatio
  • 无法更新到 Android Studio gradle 1.4 插件

    In my build gradle I have buildscript repositories mavenCentral dependencies classpath com android tools build gradle 1
  • 显示/隐藏下拉菜单

    这是我的代码
  • Visual Studio Code 插件(格式/拼写检查)

    使用新的 Visual Studio Code 编辑器与 1 这是not完整的 Visual Studio IDE 但基于atom io 的代码编辑器 我想安装专门用于拼写检查和格式化代码的插件 我怎样才能做到这一点 我已按照此处的说明进行
  • Office 2013 功能区和 .Net?

    我知道 Office 功能区自 2003 年以来经历了相当大的变化 并且我在 2010 年对功能区进行了一些适度的自定义 问 我看到了许多对 Net 的引用 特别是 C 和 Office Ribbon 这很大程度上只是 也许 动态定制吗 我
  • 如何使用单个查询列出查询的行或显示“无记录”

    如何列出查询的记录并在使用单个查询未返回行时显示 无记录 目前我正在使用COUNT 查询或使用mysql num rows 功能 然后在不同的结果集中另一个查询来列出数据 您能告诉我是否可以通过单个查询完成相同的任务吗 重要的 我假设OP使
  • “JQuery”类型的值不存在属性“jqGrid”

    我将 Typescript 与 jqGrid 和 jQuery 一起使用 在下面一行 jQuery this jqGrid editGridRow rowid 我收到消息 JQuery 类型的值不存在属性 jqGrid 关于如何纠正这个问题
  • 使用 Spring boot 的 Ehcache 在测试环境中不起作用

    我正在使用 Spring boot 1 4 2 RELEASE 和 Ehcache 2 4 3 缓存正在开发环境中使用 但在其他环境 测试和生产 中没有使用 命中 代码如下 pom xml
  • libdtrace 缓冲输出

    我正在尝试通过 libdtrace 使用 dtrace 在 Snow Leopard 上 10 6 4 我想在我自己的程序中捕获 dtrace 脚本的打印输出 一种方法是将输出转到临时文件并从那里读取 但是 libdtrace 支持回调函数
  • Quill.js:制作自定义链接格式 - 或 - 具有相同标签名称的自定义格式

    我正在使用鹅毛笔1 0 0 rc 1 如何制作几种不同类型的链接格式 我制作了三种不同类型的链接格式 添加了data link type属性 当我创建链接时 一切都很好 但是 当我使用将内容重新加载到编辑器中时pasteHTML 自上次注册
  • __zone_symbol__currentTask 错误

    我收到错误 zone symbol currentTask type microTask state notScheduled source Promise then zone angular cancelFn null runCount
  • 单击按钮时使球弹起

    I wrote a program to move a ball when a button is clicked It is a part of experiment for a bigegr project Here is the sc