【问题标题】:Brython: Moving Elements Every [...] MicrosecondsBrython:每 [...] 微秒移动一次元素
【发布时间】:2013-07-14 23:42:51
【问题描述】:

晚安。这是一个关于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>

【问题讨论】:

  • 请发布您的代码给我们一个起点。
  • 等一下,您将使用非标准的 Web 脚本语言来重新实现 &lt;marquee&gt; 标记。 为什么?
  • 乐高,因为它已被弃用......而且我想在 brython 中学习它。 @Liam,我只想要一个简单的、带有解释的工作示例。如果你愿意,我会用一个简单的起点更新。

标签: python html brython


【解决方案1】:

你可以这样做:

<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 等效项具有相同的语法

【讨论】:

  • 2014 年更新:现在推荐使用from browser import timer 而不是import time。 (项目方向相当于python的stdlib库)所以brython的set_interval和“set_timeout”都在browser.timer模块中
猜你喜欢
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 2016-04-16
  • 2023-03-14
  • 2020-06-27
  • 2017-06-20
相关资源
最近更新 更多