私はGoogleAppEngineとPythonでシステムを開発しています。次のjQueryコードは、時刻を定期的に更新するために使用されます。content
次のHTMLコードは、 jQueryAjaxによってdivに挿入されます。
HTML:
...
{{product.name}}: <br />
Bidding time is approaching: <div id="timeToBid{{product.randomNo}}">{{timeToBid}}</div>
...
$(document).ready(function() {
function updateTime() {
$.ajax({
url: "/timeToBid?productId={{product.key.id}}",
cache: false,
success: function(returndata){
$('#timeToBid{{product.randomNo}}').html(returndata);
}
});
setTimeout(updateTime, 1000);
}
updateTime();
});
サーバー側プログラム:
class TimetoBid(webapp2.RequestHandler):
def get(self):
productId = self.request.get('productId')
product = Product.get_by_id(productId)
time = str(datetime.datetime.now() - product.bidTime)
self.response.out.write(message)
ただし、ページ内の他のボタンをクリックしてcontent
divを更新すると、ページ全体を更新しない限り、updateTime()関数は実行されたままになります。また、機能が停止しないため、何度もページに入ると、1秒間に数回問題が発生します。content
divが他のHTMLコードで更新された場合に関数を停止するにはどうすればよいですか?