window.onload = ->
boxOrig1 = 10
boxOrig2 = 30
canvasW = 400
canvasH = 300
ctx = $("#canvas")[0].getContext('2d');
draw = (origin,dimension) ->
ctx.clearRect(0, 0, canvasW, canvasH)
ctx.fillStyle = 'rgb(200,0,0)'
ctx.fillRect(origin + boxOrig1, boxOrig1, dimension, dimension)
ctx.fillStyle = 'rgba(0, 0, 200, 0.5)'
ctx.fillRect(origin + boxOrig2, boxOrig2, dimension, dimension)
for m in [10..100] by 10
t = setTimeout (-> draw(m, 150)), 1000
t.clearTimeout
# draw(m,150)
# alert m
एक अभ्यास के रूप में Coffeescript में setTimout का उपयोग करते हैं, इसके बाद के संस्करण कोड, एक कैनवास पर एक छोटे से डिजाइन आकर्षित एक पल के लिए रुक जाते हैं, तो इसे फिर से सही करने के लिए 10 पिक्सल पुनः बनाने के लिए है।मैं कैसे एक पाश
मैं देख सकता हूं कि मैकेनिक्स ठीक काम करता है जब मैं एक चेतावनी के साथ लूप को बाधित करता हूं (जैसा कि पिछली दो टिप्पणी वाली पंक्तियों में), लेकिन मुझे सेटटाइम फ़ंक्शन के साथ अपेक्षित व्यवहार नहीं मिल रहा है। डिज़ाइन बस समय के बाद सही स्थिति पर दिखाई देता है, जो बीच में वृद्धिशील चरणों को छोड़ देता है।
मैंने अन्य उदाहरणों से ऐसा करने के कई अलग-अलग तरीकों की कोशिश की है, लेकिन यह सिर्फ मेरे दिमाग को पिघल रहा है। कोई सुझाव?
वे जो मुख्य अवधारणा खो रहे थे वह "डू" कीवर्ड के माध्यम से बंद होने का गुजर रहा था। जैसा कि हम पार्लर कहना पसंद करते हैं, TMTOWTDI। सबको शुक्रीया! अब अभ्यास करने के लिए :-) – user105090
उत्कृष्ट स्पष्टीकरण। –
यह उत्तर आसान में आया, अच्छा एक ट्रेवर https://twitter.com/#!/karlseguin/status/165442250376085504 –