Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6044711
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T07:02:33+00:00 2026-05-23T07:02:33+00:00

I was trying to make a delay while the graph was being drawn, but

  • 0

I was trying to make a delay while the graph was being drawn, but I think I am having trouble with setTimeout. Any help or suggestion will be highly appreciated.

<canvas id="myCanvas"></canvas>
<script type="text/javascript">
function vertix(y,ctx){

  ctx.moveTo(0, y);
  ctx.lineTo(500, y);
}
function horizons(x,ctx){
    ctx.moveTo(x, 0);
    ctx.lineTo(x, 375);
}
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
var context=ctx;
var i;
ctx.fillStyle='#FF0000';
canvas.setAttribute('align', 'center');
canvas.setAttribute('width', '800px');
canvas.setAttribute('height', '800px'); // clears the canvas

for (var x = 0.5; x < 500; x += 10) {
    setTimeout("horizons(x,ctx)",1000,'JavaScript');
}
for (var y = 0.5; y < 375; y += 10) {
    setTimeout("vertix(y,ctx)",1000,'JavaScript');
}
ctx.strokeStyle = "#eee";
ctx.stroke();
ctx.beginPath();
ctx.moveTo(0, 40);
ctx.lineTo(240, 40);
ctx.moveTo(260, 40);
ctx.lineTo(500, 40);
ctx.moveTo(495, 35);
ctx.lineTo(500, 40);
ctx.lineTo(495, 45);
ctx.moveTo(60, 0);
ctx.lineTo(60, 153);
ctx.moveTo(60, 173);
ctx.lineTo(60, 375);
ctx.moveTo(65, 370);
ctx.lineTo(60, 375);
ctx.lineTo(55, 370);
ctx.strokeStyle = "#000";
ctx.stroke();
context.font = "bold 12px sans-serif";
context.fillText("x", 248, 43);
context.fillText("y", 58, 165);
context.font = "bold 12px sans-serif";
context.fillText("x", 248, 43);
context.fillText("y", 58, 165);
context.textBaseline = "top";
context.fillText("( 0 , 0 )", 8, 5);
context.textAlign = "right";
context.textBaseline = "bottom";
context.fillText("( 500 , 375 )", 492, 370);
context.fillRect(0, 0, 3, 3);
context.fillRect(497, 372, 3, 3);

context.font = " 'TangerineRegular'";
context.fillText("Graph", 500, 400);
</script>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T07:02:34+00:00Added an answer on May 23, 2026 at 7:02 am

    You have two fundamental problems:

    1. Using string-based timeout handlers won’t work because your x and y (and ctx) parameters aren’t in scope

    2. setTimeout doesn’t delay the execution of everything after it, it just means “do this at some time in the future, meanwhile keep on going”.

    I’ve created a fiddle at http://jsfiddle.net/alnitak/tGv4x/ which shows how this could be fixed. The core of it is:

    var hor_x = 0.5;
    var vert_y = 0.5;
    var delay = 100;
    
    function vertix() {
        ctx.beginPath();
        ctx.moveTo(0, vert_y);
        ctx.lineTo(500, vert_y);
        ctx.stroke();
        if (vert_y < 375) {
            vert_y += 10;
            setTimeout(vertix, delay);
        }
    }
    
    function horizons() {
        ctx.beginPath();
        ctx.moveTo(hor_x, 0);
        ctx.lineTo(hor_x, 375);
        ctx.stroke();
        if (hor_x < 500) {
            hor_x += 10;
            setTimeout(horizons, delay);
        } else {
            setTimeout(vertix, delay);
        }
    }
    
    horizons();
    

    In essence – call a single function (horizons) which repeatedly triggers itself, using an externally scoped variable to store the current coordinates. Once that one has finished, it hands over control to another function (vertix) which does the same thing for the other axis.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to creat special event for jQuery. I want to make controled delay,
While trying to make one of my python applications a bit more robust in
After trying to make a while(bool) loop and it failing because I couldn't see
I'm trying to make all the elements of a certain class show, but each
Basically im trying to make a dispatcher, but it fails because it's always !event->callback_function,
Im trying to make a delay between the animation and the toggling between hidden
I am trying to make the following recursive function work but keep receiving an
I have a UIView that I am trying to animate flipping down, while having
I have some jquery and am trying to apply a delay to it but
I am trying make long screen to vertical direction. So, I need a screen

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.