SitePoint Sponsor

User Tag List

Results 1 to 3 of 3
  1. #1
    SitePoint Wizard Another Designer's Avatar
    Join Date
    May 2005
    Posts
    1,370
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Slide Show Jumps

    Hello gang,

    I need to stop this slide show from jumping. If you look at it, it jumps. I also want the previous button go run smoothly. If I could get the pause/play button to work that would be great.
    Here is the slideshow: The slide Show
    The actionscript is below:

    Code:
    function loadXML(loaded)
    {
        if (loaded)
        {
            xmlNode = this.firstChild;
            image = [];
            caption = [];
            total = xmlNode.childNodes.length;
            for (i = 0; i < total; i++)
            {
                image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
                caption[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
            } // end of for
            firstImage1();
        }
        else
        {
            content = "file not loaded!";
        } // end else if
    } // End of the function
    function nextImage()
    {
        if (p < total - 1)
        {
            ++p;
            if (loaded == filesize)
            {
                picture._alpha = 0;
                picture.loadMovie("photos/" + image[p], 1);
                caption_txt.text = caption[p];
            } // end if
        } // end if
    } // End of the function
    function nextImage1()
    {
        if (p < total - 1)
        {
            ++p;
            if (loaded == filesize)
            {
                picture._alpha = 0;
                picture.loadMovie("photos/" + image[p], 1);
                caption_txt.text = caption[p];
                slideshow();
            } // end if
        } // end if
    } // End of the function
    function prevImage()
    {
        if (p > 0)
        {
            --p;
            picture._alpha = 0;
            picture.loadMovie("photos/" + image[p], 1);
            caption_txt.text = caption[p];
        } // end if
    } // End of the function
    function firstImage()
    {
        if (loaded == filesize)
        {
            picture._alpha = 0;
            picture.loadMovie("photos/" + image[0], 1);
            caption_txt.text = caption[0];
        } // end if
    } // End of the function
    function firstImage1()
    {
        if (loaded == filesize)
        {
            picture._alpha = 0;
            picture.loadMovie("photos/" + image[0], 1);
            caption_txt.text = caption[0];
            slideshow();
        } // end if
    } // End of the function
    function slideshow()
    {
        function pause_slideshow()
        {
            clearInterval(myInterval);
            if (p == total - 1)
            {
                p = 0;
                firstImage1();
            }
            else
            {
                nextImage1();
            } // end else if
        } // End of the function
        myInterval = setInterval(pause_slideshow, 4000);
    } // End of the function
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlData.load("photos.xml");
    listen = new Object();
    listen.onKeyDown = function ()
    {
        if (Key.getCode() == 37)
        {
            prevImage();
        }
        else if (Key.getCode() == 39)
        {
            nextImage();
        } // end else if
    };
    Key.addListener(listen);
    previous_btn.onRelease = function ()
    {
        prevImage();
    };
    next_btn.onRelease = function ()
    {
        nextImage();
    };
    p = 0;
    this.onEnterFrame = function ()
    {
        filesize = picture.getBytesTotal();
        loaded = picture.getBytesLoaded();
        preloader._visible = true;
        if (loaded != filesize)
        {
            preloader.preload_bar._xscale = 100 * loaded / filesize;
        }
        else
        {
            preloader._visible = false;
            if (picture._alpha < 100)
            {
                picture._alpha = picture._alpha + 10;
            } // end if
        } // end else if
    };
    I really would appreciate any help.

  2. #2
    SitePoint Guru Dijup's Avatar
    Join Date
    Jun 2006
    Location
    Kathmandu, Nepal
    Posts
    790
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    can u try to make some changes in this function

    function slideshow()
    {
    function pause_slideshow()
    {

    if (p == total - 1)
    {
    p = 0;
    firstImage1();
    }
    else
    {
    nextImage1();
    } // end else if
    }
    clearInterval(myInterval);
    // End of the function
    myInterval = setInterval(pause_slideshow, 4000);
    } // End of the function


    might solve the issue.

  3. #3
    SitePoint Member
    Join Date
    Apr 2008
    Posts
    21
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You really need to work with multiple MovieClips that's the only way to be able to transition smoothly from picture to picture. I recommend creating new movieclips each time and clearing them after you are done with them. That way you can apply any transition to the leaving picture without affecting the incoming picture. you can check a good use of this principle in the latest version of my slideshow at (I'm not allowed to post a link):
    aswebcreations [dot] com / slide_show_demo [dot] html
    you actual problem is that as soon as you start loading the next picture Flash clears the current one.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •