python - Brython:每 [...] 微秒移动元素

标签 python html brython

晚安。这是一个关于Brython的问题欢迎任何帮助。

我正在寻找一种在每个时间间隔(可能是 200 毫秒)向左(或向右、顶部等)移动元素(例如,div)一些像素的方法。谁能帮帮我?

一旦他到达左边距就删除该元素会很棒。 (:

[更新] 这是一个起点。我不会用错误的 brython 代码污染它,跟随你的创造力 ;)

<html><head>
<style>
* { margin: 0; padding: 0; outline: 0; border: 0; }
.block {
  display: inline-block;
  margin: 1em;
  padding: 1em;
  background: steelblue;
  color: white;
  font: 14pt/1.2 georgia,cambria;
  border-radius: .2em;
}
</style></head><body>

<div class="block">
  Test
</div>

</body></html>

最佳答案

这里是你如何做到的:

<html>
<head>
<meta charset="utf-8">
<style>
* { margin: 0; padding: 0; outline: 0; border: 0; }
.block {
  display: inline-block;
  /*margin: 1em;*/
  padding: 1em;
  background: steelblue;
  color: white;
  font: 14pt/1.2 georgia,cambria;
  border-radius: .2em;
}
</style>
<script src="/src/brython.js"></script>
<script type="text/python">
import time

elt = doc["moving"]

def move():
    elt.style.left = "%spx" %(elt.left+10)
    if(elt.left > 500):
        time.clear_interval(timer)
        del doc["moving"]

timer = time.set_interval(move,200)
</script>
</head>
<body onload="brython(1)">

<div class="block" id="moving" style="position:absolute;top:10;left:20;">
  Test
</div>

</body>
</html>

很简单,是吗?一些评论:

  • DIV 元素必须设置为 position = absolute

  • 在 Brython 程序中,您可以通过 doc[object_id] 获取对对象的引用(doc 是文档的内置名称)。删除对象:del doc[object_id]

  • 这个对象有一个属性 left :一个整数,测量到文档左边界的距离

  • set_intervalclear_interval 是添加到内置模块 time 的方法,它们与 Javascript 等价物具有相同的语法

关于python - Brython:每 [...] 微秒移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17644908/

相关文章:

python - 向数据库添加新模型实例时 Django 中的 ProgrammingError,可能出了什么问题?

python - Airflow - 在函数内调用运算符

css - 我如何垂直居中对齐 div 与动态多行文本

javascript - 如何将文本输入绑定(bind)到同一 html 页面上的另一个 div

javascript - 如何使用 Brython 将 Python 编译为 Javascript(以与 nodejs 一起运行)?

python - vim python-mode 中的自动滚动输出

Python argparse 需要选项,具体取决于定义的标志

html - 如何让悬停在一个类上触发其他类的变化?

html - 在 Safari 中使用 flexbox 进行垂直和水平居中

javascript - 如何在 brython 中绘制 Canvas ?