setIntervalではなくrequestAnimationFrameを使うように修正