Brython:每隔[…]微秒移动一次元素

2024-05-16 03:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

以200毫秒的间隔(例如,向上移动200毫秒)。有人能帮我吗?在

一旦他到达左边空白处,删除这个元素就太好了。(:

[更新]这是一个起点。我不会用错误的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>

Tags: margindiv元素间隔stylehtmlbodyblock
1条回答
网友
1楼 · 发布于 2024-05-16 03:35:07

以下是如何做到这一点:

<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是添加到内置模块时间的方法,它们的语法与其Javascript等价物相同

相关问题 更多 >