晚安。这是关于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>
答案 0 :(得分:5)
以下是如何做到这一点:
<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>
非常简单,是吗?一些评论:
必须使用position = absolute
在Brython程序中,您通过doc[object_id]
获得对象的引用( doc 是文档的内置名称)。删除对象:del doc[object_id]
此对象有一个属性 left :一个测量文档左边距离的整数
set_interval 和 clear_interval 是添加到内置模块时间的方法,它们具有与其Javascript等效语法相同的语法