Почему мерцающий прямоугольник (затопленный холстом) не работает?
Я только начал узнавать немного о холсте!
Я хочу нарисовать прямоугольник, который мерцает (показывает / скрывает / показывает / скрывает / показывает...) после установленного интервала времени.
Если я удалю setInterval()
а также clear_canvas()
прямоугольник тонет. Кажется, проблема в clear_canvas()
, Я получил этот код отсюда.
На данный момент это просто показывает пустую страницу. На мой взгляд, это должно нарисовать, очистить, нарисовать, очистить...
я добавилconsole.log()
для отладки; это называется! В Chrome 14 нет ошибок или чего-либо еще (на Fedora 15, если это имеет значение). Кажется, все в порядке; к сожалению, это не так!
Я поместил код в JsFiddle, чтобы вы, ребята, могли мне помочь. Спасибо!
2 ответа
Ваша проблема в том, что он очищает прямоугольник в тот момент, когда он нарисован.
Вам нужно будет переключать функцию между рисованием и очисткой, чтобы что-то заметить.
var draw = false;
$(function() {
setInterval(function() {
console.log('called');
if(draw)
draw_rectange();
else
clear_canvas();
draw = !draw;
}, 1000);
});
Ненавижу делать это, ребята, но это просто вопрос порядка действий. очистите холст, прежде чем рисовать на нем, а не после.
переключатель
draw_rectange();
clear_canvas();
в
clear_canvas();
draw_rectange();
результат: http://jsfiddle.net/pYve5/4/