Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Go to new page at the end of my function script

Reply
Thread Tools

Go to new page at the end of my function script

 
 
Tony
Guest
Posts: n/a
 
      07-31-2006
I have a function that loops through a set of images but at the end of
the loop I need the page to go to a new location. Does anyone know how
force my page to go there.

This is what I am thinking

function animateThenGo()
loopimages;
location.href "mypage.htm"

anything that might get me started would be great.

 
Reply With Quote
 
 
 
 
VK
Guest
Posts: n/a
 
      07-31-2006

Tony wrote:
> I have a function that loops through a set of images but at the end of
> the loop I need the page to go to a new location. Does anyone know how
> force my page to go there.
>
> This is what I am thinking
>
> function animateThenGo()
> loopimages;
> location.href "mypage.htm"
>
> anything that might get me started would be great.


JavaScript doesn't have commands like "pause" or "sleep" or "resume" or
so. So with your approach the script will loop all images momentarly
and load new page. You need a timer here.
....
function loopImages() {
if (condition) {
// swap image
setTimeout('loopImages()', delay);
}
else {
location.href = 'mypage.html';
}
}

window.onload = loopImages;
....

condition, swap image routine and the desired delay (in ms) are left
for you.

 
Reply With Quote
 
 
 
 
Randy Webb
Guest
Posts: n/a
 
      07-31-2006
VK said the following on 7/31/2006 12:21 PM:
> Tony wrote:
>> I have a function that loops through a set of images but at the end of
>> the loop I need the page to go to a new location. Does anyone know how
>> force my page to go there.
>>
>> This is what I am thinking
>>
>> function animateThenGo()
>> loopimages;
>> location.href "mypage.htm"
>>
>> anything that might get me started would be great.


What you have is a good start, other than the missing = sign after
location.href

> JavaScript doesn't have commands like "pause" or "sleep" or "resume" or
> so. So with your approach the script will loop all images momentarly
> and load new page. You need a timer here.


Yours won't do any better.

> function loopImages() {
> if (condition) {
> // swap image
> setTimeout('loopImages()', delay);
> }
> else {
> location.href = 'mypage.html';
> }
> }
> window.onload = loopImages;


There is no need for recursion there. None at all.

> condition, swap image routine and the desired delay (in ms) are left
> for you.


And a proper logic sequence as well?

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
 
Reply With Quote
 
VK
Guest
Posts: n/a
 
      08-01-2006

Randy Webb wrote:
> > function loopImages() {
> > if (condition) {
> > // swap image
> > setTimeout('loopImages()', delay);
> > }
> > else {
> > location.href = 'mypage.html';
> > }
> > }
> > window.onload = loopImages;

>
> There is no need for recursion there. None at all.


Where did you see any recursion here? loopImages sets timer, but it
doesn't call itself in the same execution context.
If you have a better idea how to make a timed slideshow without timers
I would like to see it. Something like to try to check the processor
speed and set 10,000-1,000,000 sin-cos calculation loops?

> And a proper logic sequence as well?


I will be glad to further comment the logic for OP and anyone else if
asked.

 
Reply With Quote
 
Tony
Guest
Posts: n/a
 
      08-06-2006
I have been trying to adapt what you said to this bit of (out of my
league) code.
Would you mind taking a look at it and telling where to insert the if
statement you gave to that will make the page go to the new page after
the images have looped once.

I will be applying this to an imag map next so I can't use the page
load to start the animation. It must start when the user clicks on the
map.

Thanks

<html>
<head>
<SCRIPT>
function ImageAnimator (imgName, imgURLs, spd) {
this.id = ImageAnimator.cnt;
ImageAnimator.elements[ImageAnimator.cnt++] = this;
this.imgName = imgName;
this.imgURLs = imgURLs;
this.spd = spd ? spd : 500;
this.images = new Array(this.imgURLs.length);
for (var i = 0; i < this.imgURLs.length; i++) {
this.images[i] = new Image();
this.images[i].src = this.imgURLs[i];
}
}
function ImageAnimator_play (up) {
if (this.tid)
clearTimeout(this.tid);
this.up = up || typeof up == 'undefined' ? true : false;
if (this.up)
this.cnt = 0;
else
this.cnt--;
if (!this.image)
this.image = document[this.imgName];
if (this.image) {
if (this.up)
this.animateUp();
else
this.animateDown();
}
}
ImageAnimator.prototype.play = ImageAnimator_play;
function ImageAnimator_animateUp () {
this.image.src = this.images[this.cnt].src;
this.cnt++;
if (this.cnt < this.imgURLs.length) {
this.tid = setTimeout('ImageAnimator.elements[' + this.id
+ '].animateUp()', this.spd);
}
else
this.cnt--;
}
ImageAnimator.prototype.animateUp = ImageAnimator_animateUp;
function ImageAnimator_animateDown () {
this.image.src = this.images[this.cnt].src;
this.cnt--;
if (this.cnt >= 0 && this.cnt < this.imgURLs.length) {
this.tid = setTimeout('ImageAnimator.elements[' + this.id
+ '].animateDown()', this.spd);
}
else
this.cnt = 0;
}
ImageAnimator.prototype.animateDown = ImageAnimator_animateDown;
ImageAnimator.cnt = 0;
ImageAnimator.elements = new Array();
</SCRIPT>
<SCRIPT>
var anImageAnimator =
new ImageAnimator (
'anImage',
new Array ('images/Entrance.gif',
'images/EntranceTurn1.gif',
'images/EntranceTurn2.gif',
'images/EntranceTurn3.gif',
'images/EntranceTurn4.gif',
'images/EntranceTurn5.gif',
'images/EntranceTurn6.gif',
'images/EntranceTurn7.gif',
'images/main.gif'),
50
);
</SCRIPT>

<title></title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">

</head>
<body bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0">

<map name="btnMap">
<area href="javascript: void 0" onclick="anImageAnimator.play(true)"
shape="rect" coords="41, 35, 133, 68">
</map>
<IMG NAME="anImage" SRC="images/Entrance.gif" BORDER="0"
usemap="#btnMap">

</body>
</html>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
The end of C-like script languages - C script with TCC lovecreatesbeauty C Programming 19 06-19-2011 04:05 PM
How to render script code at the end of Page? Jeff ASP .Net Web Controls 0 04-30-2005 09:35 AM
is there a difference between CIR and CIR+end to end clear channel connection? ike lozada Cisco 0 05-27-2004 02:34 AM
Register client script at the end of the page. Arjen ASP .Net 2 08-13-2003 08:52 PM
Passing value from one script on one page to another script on another page. Robert Cohen ASP General 3 07-15-2003 01:46 PM



Advertisments