3

おやすみなさい。これは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>
4

1 に答える 1

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>

かなり簡単ですよね?いくつかのコメント:

  • DIV 要素は position = absolute で設定する必要があります

  • Brython プログラムでは、doc[object_id]( docはドキュメントの組み込み名です) によってオブジェクトへの参照を取得します。オブジェクトを削除するには:del doc[object_id]

  • このオブジェクトには属性leftがあります: ドキュメントの左境界線までの距離を測定する整数

  • set_intervalclear_intervalは、組み込みモジュール time に追加されたメソッドであり、同等の Javascript と同じ構文を持っています。

于 2013-07-16T08:50:37.713 に答える