dcsimg


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 3 of 3

Thread: How can I *break* out of this JS loop?

  1. #1
    Join Date
    Apr 2006
    Location
    Oakland California
    Posts
    2

    How can I *break* out of this JS loop?

    This is a fairly simple slideshow, but it is an infinite loop. How can I "break" out of it when I've displayed the last image? I've tried every variation of
    -break- and -continue- that I know of.

    All suggestions welcome.

    ============================

    <script language="JavaScript">

    // Duration of image (in milliseconds)
    var slideShowSpeed = 5000

    // Duration of crossfade (in seconds)
    var crossFadeDuration = 3

    var Pic = new Array()

    Pic[0] = 'p01.jpg'
    Pic[1] = 'p02.jpg'
    Pic[2] = 'p03.jpg'
    Pic[3] = 'p04.jpg'
    Pic[4] = 'p05.jpg'
    Pic[5] = 'p06.jpg'

    var t
    var j = 0
    var p = Pic.length
    var preLoad = new Array()

    for (i = 0; i < p; i++)
    {
    preLoad[i] = new Image()
    preLoad[i].src = Pic[i]
    }

    function runSlideShow(){
    if (document.all && document.images.SlideShow.filters){
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
    document.images.SlideShow.filters.blendTrans.Apply()
    }
    document.images.SlideShow.src = preLoad[j].src
    if (document.all && document.images.SlideShow.filters){
    document.images.SlideShow.filters.blendTrans.Play()
    }
    j = j + 1
    if (j > (p-1)) j=0
    t = setTimeout('runSlideShow()', slideShowSpeed)
    }
    //-->
    </script>

    ===================================

    Thanks for your help.

    Uncle Richard

  2. #2
    Join Date
    May 2006
    Posts
    4
    use a For loop for the in the function runSlideShow() to show the image?


    as in:

    function runSlideShow(){

    for (j= 0; j < p; j++)
    {
    if (document.all && document.images.SlideShow.filters){
    document.images.SlideShow.style.filter="blendTrans(duration=2)"
    document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
    document.images.SlideShow.filters.blendTrans.Apply ()
    }
    document.images.SlideShow.src = preLoad[j].src
    if (document.all && document.images.SlideShow.filters){
    document.images.SlideShow.filters.blendTrans.Play( )
    }
    }

    dose that helps?

    or you could take setTimeout() out from the function runSlideShow(). put it at the end
    ......[william]......
    If you don't try, you will never know

  3. #3
    Join Date
    Apr 2006
    Location
    Oakland California
    Posts
    2
    Thank you, William, for taking the time to figure out a solution for me.

    I appreciate it very much.

    Uncle Richard

Similar Threads

  1. For Loop vs. While Loop
    By javatier in forum Java
    Replies: 16
    Last Post: 02-18-2011, 12:48 PM
  2. Replies: 2
    Last Post: 03-16-2006, 07:39 PM
  3. For Loop Help
    By naazrael in forum Java
    Replies: 2
    Last Post: 12-14-2005, 11:22 AM
  4. Replies: 2
    Last Post: 08-25-2005, 02:00 PM
  5. Problem with a loop
    By salvinger in forum VB Classic
    Replies: 0
    Last Post: 05-07-2005, 01:38 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center