Looping Slideshow

Keynote 5.1.1
OSX 10.7.3
2.4 GHz
4 GB 1333MHz DDR3
There is no function for looping the Smart Build slideshow feature. My work-around to deal with this is to export a single slide as a Quicktime video with preset timing. I then reimported the video back into the presentation where I want the slideshow to loop. Using the the Inspector Quicktime manager I set the video to loop automatically. 
Problem:  When I export the Keynote presentation to Manual Advance Quicktime the frame with the slideshow on it will not advance part way through the slidewhow (video). It has to run its course. 
I would like to have the freedom to advance anytime during the manual advance slideshow (video). Any suggestions appreciated.

My continued reading on this topic in the community has discovered the use of hyperlinks. Anyone know if these are effective in a Manual Advance Quicktime?  Or are these video formats purely linear on their playback?

Similar Messages

  • Looping Slideshow with Videos. How please?

    Hi
    I just downloaded Keynote 09 as 08 did not support 1920x1080 Res. I'm pretty au-fait with Keynote but I'm a bit stuck with something.
    I'm trying to create a looping slideshow with images and text and also videos. I want the slide show to just run on it's own without any clicking of buttons at all
    The problem I have is that when I click play,the Presentation starts off fine, and shows the first few pages with static images and text, but when it gets to the pages with Video on, it plays the video for five seconds then moves on to the next slide, I don't want the slides with Videos on to move to the next one until the video has finished, how can I do this? I've looked at "recording a slideshow" but have been unable to fathom how that helps.
    An answer would be much appreciated.
    Thank You.

    A few different ways about this. You could split the slide show into smaller sections that are withi the limits for posting and then post each section.
    You could try a different encoding to make the file smaller. What settings did you use when you created and exported the slide show?

  • LR 5, Slideshow Repeat Selected does not export a Looping Slideshow?

    Hello,
    I am curious why when I export my slideshow with the Repeat button selected, why doesn't it repeat (or loop back from the beginning)?
    Thanks for your help.

    I don't think it is possible to make the H264 mpeg4 movie files that Lightroom exports to autorepeat. That's something that the movie player is supposed to do.

  • Looping Slideshow/Frames initiated by FWD/REV buttons?

    How do I code the logic to create a slideshow that plays nextFrame() or prevFrame() using eventListeners for FWD and REW/REV buttons?
    so far I have something like:
    function fwdPlay(e:MouseEvent):void{
         nextFrame();
         if(currentLabel=="last"){
              gotoAndStop("first");
    function rewPlay(e:MouseEvent):void{
         prevFrame();
         if(currentLabel=="first"){
              gotoAndStop("last");
    For some reason these two functions seem to cancel each other out.  If I take out the second if statement in rewPlay then it will loop with the first fwdPlay function but the rewPlay button will reach an endpoint at the frame "first".
    How can I fix this?
    Sincerely,
    markerline

    once you have those 4 frames labeled, use:
    function fwdPlay(e:MouseEvent):void{
         if(currentLabel=="last"){
              gotoAndStop("first");
         } else{
    nextFrame();
    function rewPlay(e:MouseEvent):void{
         if(currentLabel=="first"){
              gotoAndStop("last");
         } else {
    prevFrame()

  • Loop slideshow or movie clips

    does anyone know how to loop the slideshows and movie clips on IMOVIE 6 just like u do on IDVD??

    Ranjandeep,
    You can't in iMovie.
    But if you play your finished movie back with QuickTime you can.
    Just output your movie using Share>QuickTime>Full Quality DV.
    Then play the movie with QuickTime Player and choose View>Loop.
    matt

  • Adobe Reader X won't loop a slideshow.

    I generate a slideshow in Serif PagePlus and one of the options when I publish to pdf slideshow is "Loop Slideshow". This has worked fine for years, until, by the look of it the installation of  AR X. In AR X the slideshow just hangs at the end of the show so my rolling message board no longer works. Setting the Edit > Preferences > Full Screen - "Loop after last page" option in AR enables the slideshow to loop OK. However this isn't needed in previous versions of AR and I can't reckon on all users having this option set.
    Is it a bug?
    Art

    I did the following and it fixed the problem...
    Let us assign permissions to the C drive(or the drive where you have installed the OS) and then check.
    To apply permissions to a file or folder for a user:
    a. Right-click on the C drive and then click Properties.
    c. Click the Security tab, and then click Edit.
    d. Do one of the following:
        i. To set permissions for a user that is not listed under Group or user names, click Add, type the name of the user or group, click OK, select the permissions, and then click OK.
        ii. To change or remove permissions from an existing group or user, click the name of the group or user, select the permissions, and then click OK.

  • Flash export of slideshow keeps looping, hyperlinks not working.

    I have made an intro page for a website using Keynote 3 <http://web.mac.com/archstanton1862/iWeb/Tricktrial/Welcome.html> I can't figure out why the page keeps looping. It should go through it's transitions and then stop. Right? Also, the ENTER hyperlink is supposed to go to <http://web.mac.com/archstanton1862/iWeb/Trickracing1/Menu.html> but it instead goes to www.apple.com/startpage What's the deal? I have loop slideshow "unchecked" in the playback options. I used iWeb Enhancer 1.0.1 to embed the flash animation html, and it worked awesome. It just keeps looping and the hyperlink is wrong. Is what I'm wanting to do even possible? HELP!!

    Looks like everything's working to me. I was having this same problem, but never got around to uploading the flash to the site because it keeps looping for me, too. But your's seems to be fine--did you do anything to correct this, or did it seem to fix itself?!
    Bryan

  • HOW do I create a SIMPLE fading slideshow in dreamweaver CS5?????

    I would like to have a slow fading slideshow of a few images relating to the web page that the user is on.
    I have a seperate div tag, with the space 235 x 440 pixels allowed for the images. All I want is the slideshow to fade in and out of one another using 3 or 4 photos, no text, no control panel or thumbnails or any other frills, just basic good quality photos fading in a looped slideshow.
    I just want that when the page loads up that the slideshow starts automatically and slowly loops continuously until the user changes page.
    I have seen animated gifs from photoshop, which are no good because the image quality is awful, and in fireworks, where it comes with either thumbnails or a control panel for the user to navigate manually the images. I don't want that. Can it be done easily in flash? or does dreamweaver have an answer?
    Surely there must be a simple and basic way in dreamweaver alone to just swap/fade an image with another image a few times and thats that? no?
    If it can't be done in dreamweaver, PLEASE tell me which program it can be done in and how.
    Many many many thanks in advance for anyone with an easily explained solution.
    Ian.

    Here is the code in my header:
    <!-- include jQuery library --><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script><!-- include Cycle plugin --><script type="text/javascript" src="http://aap.org/international/jquery.cycle.all.latest.js"></script><script type="text/javascript">$(document).ready(function() {    $('.slideshow').cycle({          fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...     });});</script>
    Here is the code in the body part of my page:
    <div class="slideshow"><img alt="one" src="img/WebsiteSlideshow/_Terrell_IL SnJessieJackson.jpg" width="592" height="509" /><img alt="dcsn" src="img/WebsiteSlideshow/ONEorg 1.JPEG" width="592" height="509" /><img alt="one2" src="img/WebsiteSlideshow/ONEorg.JPG" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/ShotatLifeSaltLakeCity.JPG" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/Dr Sato, Ohio ONE vols and Portman.jpg" width="592" height="502" /><img alt="saltlakecity" src="img/WebsiteSlideshow/photo_4.jpg" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/UNEP4 Mtg.jpeg" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/DSCN2035.jpg" width="592" height="509" /></div>
    Here is the code in the jquery site:
    <!DOCTYPE html>
    <html>
    <head>
    <title>JQuery Cycle Plugin - Basic Demo</title>
    <style type="text/css">
    .slideshow { height: 232px; width: 232px; margin: auto; overflow: hidden; }
    .slideshow img { padding: 15px; border: 1px solid #ccc; background-color: #eee; }
    </style>
    <!-- include jQuery library -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <!-- include Cycle plugin -->
    <script type="text/javascript" src="http://aap.org/international/jquery.cycle.all.latest.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $('.slideshow').cycle({
              fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
    </script>
    </head>
    <body>
    <div class="slideshow">
              <img src="img/WebsiteSlideshow/_Terrell_IL SnJessieJackson.jpg" width="592" height="509" />
              <img src="<img src="img/WebsiteSlideshow/DSCN2051.JPG"  width="592" height="509" />
              <img src="img/WebsiteSlideshow/ONEorg.JPG" width="592" height="509" />
              <img src="img/WebsiteSlideshow/ShotatLifeSaltLakeCity.JPG" width="592" height="509" />
              <img src="img/WebsiteSlideshow/Dr Sato, Ohio ONE vols and Portman.jpg" width="592" height="502" />
        <img src="img/WebsiteSlideshow/photo_4.jpg" width="592" height="509" />
        <img src="img/WebsiteSlideshow/UNEP4 Mtg.jpeg" width="592" height="509" />
        <img src="img/WebsiteSlideshow/DSCN2035.jpg" width="592" height="509" />
         <img src="img/WebsiteSlideshow/DSCN2052.JPG" width="592" height="509" />
      </div>
    </body>
    </html>
    // process the args that were passed to the plugin fn
    function handleArguments(cont, 1, fade) {
    if (cont.cycleStop == undefined)
      cont.cycleStop = 0;
    if (options === undefined || options === null)
      options = {};
    if (options.constructor == String) {
      switch(options) {
      case 'destroy':
      case 'stop':
       var opts = $(cont).data('cycle.opts');
       if (!opts)
        return false;
       cont.cycleStop++; // callbacks look for change
       if (cont.cycleTimeout)
        clearTimeout(cont.cycleTimeout);
       cont.cycleTimeout = 0;
       $(cont).removeData('cycle.opts');
       if (options == 'destroy')
        destroy(opts);
       return false;
      case 'toggle':
       cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
       checkInstantResume(cont.cyclePause, arg2, cont);
       return false;
      case 'pause':
       cont.cyclePause = 1;
       return false;
      case 'resume':
       cont.cyclePause = 0;
       checkInstantResume(false, arg2, cont);
       return false;
      case 'prev':
      case 'next':
       var opts = $(cont).data('cycle.opts');
       if (!opts) {
        log('options not found, "prev/next" ignored');
        return false;
       $.fn.cycle[options](opts);
       return false;
      default:
       options = { fx: options };
      return options;
    else if (options.constructor == Number) {
      // go to the requested slide
      var num = options;
      options = $(cont).data('cycle.opts');
      if (!options) {
       log('options not found, can not advance slide');
       return false;
      if (num < 0 || num >= options.elements.length) {
       log('invalid slide index: ' + num);
       return false;
      options.nextSlide = num;
      if (cont.cycleTimeout) {
       clearTimeout(cont.cycleTimeout);
       cont.cycleTimeout = 0;
      if (typeof arg2 == 'string')
       options.oneTimeFx = arg2;
      go(options.elements, options, 1, num >= options.currSlide);
      return false;
    return options;
    function checkInstantResume(isPaused, arg2, cont) {
      if (!isPaused && arg2 === true) { // resume now!
       var options = $(cont).data('cycle.opts');
       if (!options) {
        log('options not found, can not resume');
        return false;
       if (cont.cycleTimeout) {
        clearTimeout(cont.cycleTimeout);
        cont.cycleTimeout = 0;
       go(options.elements, options, 1, (!opts.rev && !opts.backwards));
    function removeFilter(el, opts) {
    if (!$.support.opacity && opts.cleartype && el.style.filter) {
      try { el.style.removeAttribute('filter'); }
      catch(smother) {} // handle old opera versions
    // unbind event handlers
    function destroy(opts) {
    if (opts.next)
      $(opts.next).unbind(opts.prevNextEvent);
    if (opts.prev)
      $(opts.prev).unbind(opts.prevNextEvent);
    if (opts.pager || opts.pagerAnchorBuilder)
      $.each(opts.pagerAnchors || [], function() {
       this.unbind().remove();
    opts.pagerAnchors = null;
    if (opts.destroy) // callback
      opts.destroy(opts);
    // one-time initialization
    function buildOptions($cont, $slides, els, options, o) {
    // support metadata plugin (v1.0 and v2.0)
    var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
    if (opts.autostop)
      opts.countdown = opts.autostopCount || els.length;
    var cont = $cont[0];
    $cont.data('cycle.opts', opts);
    opts.$cont = $cont;
    opts.stopCount = cont.cycleStop;
    opts.elements = els;
    opts.before = opts.before ? [opts.before] : [];
    opts.after = opts.after ? [opts.after] : [];
    opts.after.unshift(function(){ opts.busy=0; });
    // push some after callbacks
    if (!$.support.opacity && opts.cleartype)
      opts.after.push(function() { removeFilter(this, opts); });
    if (opts.continuous)
      opts.after.push(function() { go(els,opts,0,(!opts.rev && !opts.backwards)); });
    saveOriginalOpts(opts);
    // clearType corrections
    if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
      clearTypeFix($slides);
    // container requires non-static position so that slides can be position within
    if ($cont.css('position') == 'static')
      $cont.css('position', 'relative');
    if (opts.width)
      $cont.width(opts.width);
    if (opts.height && opts.height != 'auto')
      $cont.height(opts.height);
    if (opts.startingSlide)
      opts.startingSlide = parseInt(opts.startingSlide);
    else if (opts.backwards)
      opts.startingSlide = els.length - 1;
    // if random, mix up the slide array
    if (opts.random) {
      opts.randomMap = [];
      for (var i = 0; i < els.length; i++)
       opts.randomMap.push(i);
      opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
      opts.randomIndex = 1;
      opts.startingSlide = opts.randomMap[1];
    else if (opts.startingSlide >= els.length)
      opts.startingSlide = 0; // catch bogus input
    opts.currSlide = opts.startingSlide || 0;
    var first = opts.startingSlide;
    // set position and zIndex on all the slides
    $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
      var z;
      if (opts.backwards)
       z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
      else
       z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
      $(this).css('z-index', z)
    // make sure first slide is visible
    $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
    removeFilter(els[first], opts);
    // stretch slides
    if (opts.fit && opts.width)
      $slides.width(opts.width);
    if (opts.fit && opts.height && opts.height != 'auto')
      $slides.height(opts.height);
    // stretch container
    var reshape = opts.containerResize && !$cont.innerHeight();
    if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
      var maxw = 0, maxh = 0;
      for(var j=0; j < els.length; j++) {
       var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
       if (!w) w = e.offsetWidth || e.width || $e.attr('width')
       if (!h) h = e.offsetHeight || e.height || $e.attr('height');
       maxw = w > maxw ? w : maxw;
       maxh = h > maxh ? h : maxh;
      if (maxw > 0 && maxh > 0)
       $cont.css({width:maxw+'px',height:maxh+'px'});
    if (opts.pause)
      $cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});
    if (supportMultiTransitions(opts) === false)
      return false;
    // apparently a lot of people use image slideshows without height/width attributes on the images.
    // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
    var requeue = false;
    options.requeueAttempts = options.requeueAttempts || 0;
    $slides.each(function() {
      // try to get height/width of each slide
      var $el = $(this);
      this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
      this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
      if ( $el.is('img') ) {
       // sigh..  sniffing, hacking, shrugging...  this crappy hack tries to account for what browsers do when
       // an image is being downloaded and the markup did not include sizing info (height/width attributes);
       // there seems to be some "default" sizes used in this situation
       var loadingIE = ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
       var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
       var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
       var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
       // don't requeue for images that are still loading but have a valid size
       if (loadingIE || loadingFF || loadingOp || loadingOther) {
        if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
         log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
         setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
         requeue = true;
         return false; // break each loop
        else {
         log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
      return true;
    if (requeue)
      return false;
    opts.cssBefore = opts.cssBefore || {};
    opts.animIn = opts.animIn || {};
    opts.animOut = opts.animOut || {};
    $slides.not(':eq('+first+')').css(opts.cssBefore);
    if (opts.cssFirst)
      $($slides[first]).css(opts.cssFirst);
    if (opts.timeout) {
      opts.timeout = parseInt(opts.timeout);
      // ensure that timeout and speed settings are sane
      if (opts.speed.constructor == String)
       opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
      if (!opts.sync)
       opts.speed = opts.speed / 2;
      var buffer = opts.fx == 'shuffle' ? 500 : 250;
      while((opts.timeout - opts.speed) < buffer) // sanitize timeout
       opts.timeout += opts.speed;
    if (opts.easing)
      opts.easeIn = opts.easeOut = opts.easing;
    if (!opts.speedIn)
      opts.speedIn = opts.speed;
    if (!opts.speedOut)
      opts.speedOut = opts.speed;
    opts.slideCount = els.length;
    opts.currSlide = opts.lastSlide = first;
    if (opts.random) {
      if (++opts.randomIndex == els.length)
       opts.randomIndex = 0;
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else if (opts.backwards)
      opts.nextSlide = opts.startingSlide == 0 ? (els.length-1) : opts.startingSlide-1;
    else
      opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
    // run transition init fn
    if (!opts.multiFx) {
      var init = $.fn.cycle.transitions[opts.fx];
      if ($.isFunction(init))
       init($cont, $slides, opts);
      else if (opts.fx != 'custom' && !opts.multiFx) {
       log('unknown transition: ' + opts.fx,'; slideshow terminating');
       return false;
    // fire artificial events
    var e0 = $slides[first];
    if (opts.before.length)
      opts.before[0].apply(e0, [e0, e0, opts, true]);
    if (opts.after.length > 1)
      opts.after[1].apply(e0, [e0, e0, opts, true]);
    if (opts.next)
      $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});
    if (opts.prev)
      $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});
    if (opts.pager || opts.pagerAnchorBuilder)
      buildPager(els,opts);
    exposeAddSlide(opts, els);
    return opts;
    // save off original opts so we can restore after clearing state
    function saveOriginalOpts(opts) {
    opts.original = { before: [], after: [] };
    opts.original.cssBefore = $.extend({}, opts.cssBefore);
    opts.original.cssAfter  = $.extend({}, opts.cssAfter);
    opts.original.animIn = $.extend({}, opts.animIn);
    opts.original.animOut   = $.extend({}, opts.animOut);
    $.each(opts.before, function() { opts.original.before.push(this); });
    $.each(opts.after,  function() { opts.original.after.push(this); });
    function supportMultiTransitions(opts) {
    var i, tx, txs = $.fn.cycle.transitions;
    // look for multiple effects
    if (opts.fx.indexOf(',') > 0) {
      opts.multiFx = true;
      opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
      // discard any bogus effect names
      for (i=0; i < opts.fxs.length; i++) {
       var fx = opts.fxs[i];
       tx = txs[fx];
       if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
        log('discarding unknown transition: ',fx);
        opts.fxs.splice(i,1);
        i--;
      // if we have an empty list then we threw everything away!
      if (!opts.fxs.length) {
       log('No valid transitions named; slideshow terminating.');
       return false;
    else if (opts.fx == 'all') {  // auto-gen the list of transitions
      opts.multiFx = true;
      opts.fxs = [];
      for (p in txs) {
       tx = txs[p];
       if (txs.hasOwnProperty(p) && $.isFunction(tx))
        opts.fxs.push(p);
    if (opts.multiFx && opts.randomizeEffects) {
      // munge the fxs array to make effect selection random
      var r1 = Math.floor(Math.random() * 20) + 30;
      for (i = 0; i < r1; i++) {
       var r2 = Math.floor(Math.random() * opts.fxs.length);
       opts.fxs.push(opts.fxs.splice(r2,1)[0]);
      debug('randomized fx sequence: ',opts.fxs);
    return true;
    // provide a mechanism for adding slides after the slideshow has started
    function exposeAddSlide(opts, els) {
    opts.addSlide = function(newSlide, prepend) {
      var $s = $(newSlide), s = $s[0];
      if (!opts.autostopCount)
       opts.countdown++;
      els[prepend?'unshift':'push'](s);
      if (opts.els)
       opts.els[prepend?'unshift':'push'](s); // shuffle needs this
      opts.slideCount = els.length;
      $s.css('position','absolute');
      $s[prepend?'prependTo':'appendTo'](opts.$cont);
      if (prepend) {
       opts.currSlide++;
       opts.nextSlide++;
      if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
       clearTypeFix($s);
      if (opts.fit && opts.width)
       $s.width(opts.width);
      if (opts.fit && opts.height && opts.height != 'auto')
       $slides.height(opts.height);
      s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
      s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
      $s.css(opts.cssBefore);
      if (opts.pager || opts.pagerAnchorBuilder)
       $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
      if ($.isFunction(opts.onAddSlide))
       opts.onAddSlide($s);
      else
       $s.hide(); // default behavior
    // reset internal state; we do this on every pass in order to support multiple effects
    $.fn.cycle.resetState = function(opts, fx) {
    fx = fx || opts.fx;
    opts.before = []; opts.after = [];
    opts.cssBefore = $.extend({}, opts.original.cssBefore);
    opts.cssAfter  = $.extend({}, opts.original.cssAfter);
    opts.animIn = $.extend({}, opts.original.animIn);
    opts.animOut   = $.extend({}, opts.original.animOut);
    opts.fxFn = null;
    $.each(opts.original.before, function() { opts.before.push(this); });
    $.each(opts.original.after,  function() { opts.after.push(this); });
    // re-init
    var init = $.fn.cycle.transitions[fx];
    if ($.isFunction(init))
      init(opts.$cont, $(opts.elements), opts);
    // this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
    function go(els, opts, manual, fwd) {
    // opts.busy is true if we're in the middle of an animation
    if (manual && opts.busy && opts.manualTrump) {
      // let manual transitions requests trump active ones
      debug('manualTrump in go(), stopping active transition');
      $(els).stop(true,true);
      opts.busy = false;
    // don't begin another timeout-based transition if there is one active
    if (opts.busy) {
      debug('transition active, ignoring new tx request');
      return;
    var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
    // stop cycling if we have an outstanding stop request
    if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
      return;
    // check to see if we should stop cycling based on autostop options
    if (!manual && !p.cyclePause && !opts.bounce &&
      ((opts.autostop && (--opts.countdown <= 0)) ||
      (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
      if (opts.end)
       opts.end(opts);
      return;
    // if slideshow is paused, only transition on a manual trigger
    var changed = false;
    if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
      changed = true;
      var fx = opts.fx;
      // keep trying to get the slide size if we don't have it yet
      curr.cycleH = curr.cycleH || $(curr).height();
      curr.cycleW = curr.cycleW || $(curr).width();
      next.cycleH = next.cycleH || $(next).height();
      next.cycleW = next.cycleW || $(next).width();
      // support multiple transition types
      if (opts.multiFx) {
       if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
        opts.lastFx = 0;
       fx = opts.fxs[opts.lastFx];
       opts.currFx = fx;
      // one-time fx overrides apply to:  $('div').cycle(3,'zoom');
      if (opts.oneTimeFx) {
       fx = opts.oneTimeFx;
       opts.oneTimeFx = null;
      $.fn.cycle.resetState(opts, fx);
      // run the before callbacks
      if (opts.before.length)
       $.each(opts.before, function(i,o) {
        if (p.cycleStop != opts.stopCount) return;
        o.apply(next, [curr, next, opts, fwd]);
      // stage the after callacks
      var after = function() {
       $.each(opts.after, function(i,o) {
        if (p.cycleStop != opts.stopCount) return;
        o.apply(next, [curr, next, opts, fwd]);
      debug('tx firing; currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
      // get ready to perform the transition
      opts.busy = 1;
      if (opts.fxFn) // fx function provided?
       opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
      else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
       $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
      else
       $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
    if (changed || opts.nextSlide == opts.currSlide) {
      // calculate the next slide
      opts.lastSlide = opts.currSlide;
      if (opts.random) {
       opts.currSlide = opts.nextSlide;
       if (++opts.randomIndex == els.length)
        opts.randomIndex = 0;
       opts.nextSlide = opts.randomMap[opts.randomIndex];
       if (opts.nextSlide == opts.currSlide)
        opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
      else if (opts.backwards) {
       var roll = (opts.nextSlide - 1) < 0;
       if (roll && opts.bounce) {
        opts.backwards = !opts.backwards;
        opts.nextSlide = 1;
        opts.currSlide = 0;
       else {
        opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
        opts.currSlide = roll ? 0 : opts.nextSlide+1;
      else { // sequence
       var roll = (opts.nextSlide + 1) == els.length;
       if (roll && opts.bounce) {
        opts.backwards = !opts.backwards;
        opts.nextSlide = els.length-2;
        opts.currSlide = els.length-1;
       else {
        opts.nextSlide = roll ? 0 : opts.nextSlide+1;
        opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
    if (changed && opts.pager)
      opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
    // stage the next transition
    var ms = 0;
    if (opts.timeout && !opts.continuous)
      ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
    else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
      ms = 10;
    if (ms > 0)
      p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, (!opts.rev && !opts.backwards)) }, ms);
    // invoked after transition
    $.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
       $(pager).each(function() {
           $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
    // calculate timeout value for current transition
    function getTimeout(curr, next, opts, fwd) {
    if (opts.timeoutFn) {
      // call user provided calc fn
      var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
      while ((t - opts.speed) < 250) // sanitize timeout
       t += opts.speed;
      debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
      if (t !== false)
       return t;
    return opts.timeout;
    // expose next/prev function, caller must pass in state
    $.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
    $.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};
    // advance slide forward or back
    function advance(opts, val) {
    var els = opts.elements;
    var p = opts.$cont[0], timeout = p.cycleTimeout;
    if (timeout) {
      clearTimeout(timeout);
      p.cycleTimeout = 0;
    if (opts.random && val < 0) {
      // move back to the previously display slide
      opts.randomIndex--;
      if (--opts.randomIndex == -2)
       opts.randomIndex = els.length-2;
      else if (opts.randomIndex == -1)
       opts.randomIndex = els.length-1;
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else if (opts.random) {
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else {
      opts.nextSlide = opts.currSlide + val;
      if (opts.nextSlide < 0) {
       if (opts.nowrap) return false;
       opts.nextSlide = els.length - 1;
      else if (opts.nextSlide >= els.length) {
       if (opts.nowrap) return false;
       opts.nextSlide = 0;
    var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
    if ($.isFunction(cb))
      cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
    go(els, opts, 1, val>=0);
    return false;
    function buildPager(els, opts) {
    var $p = $(opts.pager);
    $.each(els, function(i,o) {
      $.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
    opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
    $.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
    var a;
    if ($.isFunction(opts.pagerAnchorBuilder)) {
      a = opts.pagerAnchorBuilder(i,el);
      debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
    else
      a = '<a href="#">'+(i+1)+'</a>';
    if (!a)
      return;
    var $a = $(a);
    // don't reparent if anchor is in the dom
    if ($a.parents('body').length === 0) {
      var arr = [];
      if ($p.length > 1) {
       $p.each(function() {
        var $clone = $a.clone(true);
        $(this).append($clone);
        arr.push($clone[0]);
       $a = $(arr);
      else {
       $a.appendTo($p);
    opts.pagerAnchors =  opts.pagerAnchors || [];
    opts.pagerAnchors.push($a);
    $a.bind(opts.pagerEvent, function(e) {
      e.preventDefault();
      opts.nextSlide = i;
      var p = opts.$cont[0], timeout = p.cycleTimeout;
      if (timeout) {
       clearTimeout(timeout);
       p.cycleTimeout = 0;
      var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
      if ($.isFunction(cb))
       cb(opts.nextSlide, els[opts.nextSlide]);
      go(els,opts,1,opts.currSlide < i); // trigger the trans
    //  return false; // <== allow bubble
    if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
      $a.bind('click.cycle', function(){return false;}); // suppress click
    if (opts.pauseOnPagerHover)
      $a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
    // helper fn to calculate the number of slides between the current and the next
    $.fn.cycle.hopsFromLast = function(opts, fwd) {
    var hops, l = opts.lastSlide, c = opts.currSlide;
    if (fwd)
      hops = c > l ? c - l : opts.slideCount - l;
    else
      hops = c < l ? l - c : l + opts.slideCount - c;
    return hops;
    // fix clearType problems in ie6 by setting an explicit bg color
    // (otherwise text slides look horrible during a fade transition)
    function clearTypeFix($slides) {
    debug('applying clearType background-color hack');
    function hex(s) {
      s = parseInt(s).toString(16);
      return s.length < 2 ? '0'+s : s;
    function getBg(e) {
      for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
       var v = $.css(e,'background-color');
       if (v.indexOf('rgb') >= 0 ) {
        var rgb = v.match(/\d+/g);
        return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
       if (v && v != 'transparent')
        return v;
      return '#ffffff';
    $slides.each(function() { $(this).css('background-color', getBg(this)); });
    // reset common props before the next transition
    $.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
    $(opts.elements).not(curr).hide();
    opts.cssBefore.opacity = 1;
    opts.cssBefore.display = 'block';
    if (w !== false && next.cycleW > 0)
      opts.cssBefore.width = next.cycleW;
    if (h !== false && next.cycleH > 0)
      opts.cssBefore.height = next.cycleH;
    opts.cssAfter = opts.cssAfter || {};
    opts.cssAfter.display = 'none';
    $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
    $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
    // the actual fn for effecting a transition
    $.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
    var $l = $(curr), $n = $(next);
    var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
    $n.css(opts.cssBefore);
    if (speedOverride) {
      if (typeof speedOverride == 'number')
       speedIn = speedOut = speedOverride;
      else
       speedIn = speedOut = 1;
      easeIn = easeOut = null;
    var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
    $l.animate(opts.animOut, speedOut, easeOut, function() {
      if (opts.cssAfter) $l.css(opts.cssAfter);
      if (!opts.sync) fn();
    if (opts.sync) fn();
    // transition definitions - only fade is defined here, transition pack defines the rest
    $.fn.cycle.transitions = {
    fade: function($cont, $slides, opts) {
      $slides.not(':eq('+opts.currSlide+')').css('opacity',0);
      opts.before.push(function(curr,next,opts) {
       $.fn.cycle.commonReset(curr,next,opts);
       opts.cssBefore.opacity = 0;
      opts.animIn    = { opacity: 1 };
      opts.animOut   = { opacity: 0 };
      opts.cssBefore = { top: 0, left: 0 };
    $.fn.cycle.ver = function() { return ver; };
    // override these globally if you like (they are all optional)
    $.fn.cycle.defaults = {
    fx:     'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
    timeout:    4000,  // milliseconds between slide transitions (0 to disable auto advance)
    timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
    continuous:    0,   // true to start next transition immediately after current one completes
    speed:     1000,  // speed of the transition (any valid fx speed value)
    speedIn:    null,  // speed of the 'in' transition
    speedOut:    null,  // speed of the 'out' transition
    next:     null,  // selector for element to use as event trigger for next slide
    prev:     null,  // selector for element to use as event trigger for previous slide
    // prevNextClick: null,  // @deprecated; please use onPrevNextEvent instead
    onPrevNextEvent: null,  // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
    prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide
    pager:     null,  // selector for element to use as pager container
    //pagerClick   null,  // @deprecated; please use onPagerEvent instead
    onPagerEvent:  null,  // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
    pagerEvent:   'click.cycle', // name of event which drives the pager navigation
    allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
    pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
    before:     null,  // transition callback (scope set to element to be shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
    after:     null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
    end:     null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
    easing:     null,  // easing method for both in and out transitions
    easeIn:     null,  // easing for "in" transition
    easeOut:    null,  // easing for "out" transition
    shuffle:    null,  // coords for shuffle animation, ex: { top:15, left: 200 }
    animIn:     null,  // properties that define how the slide animates in
    animOut:    null,  // properties that define how the slide animates out
    cssBefore:    null,  // properties that define the initial state of the slide before transitioning in
    cssAfter:    null,  // properties that defined the state of the slide after transitioning out
    fxFn:     null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
    height:    'auto', // container height
    startingSlide: 0,   // zero-based index of the first slide to be displayed
    sync:     1,   // true if in/out transitions should occur simultaneously
    random:     0,   // true for random, false for sequence (not applicable to shuffle fx)
    fit:     0,   // force slides to fit container
    containerResize: 1,   // resize container to fit largest slide
    pause:     0,   // true to enable "pause on hover"
    pauseOnPagerHover: 0, // true to pause when hovering over pager link
    autostop:    0,   // true to end slideshow after X transitions (where X == slide count)
    autostopCount: 0,   // number of transitions (optionally used with autostop to define X)
    delay:     0,   // additional delay (in ms) for first transition (hint: can be negative)
    slideExpr:    null,  // expression for selecting slides (if something other than all children is required)
    cleartype:    !$.support.opacity,  // true if clearType corrections should be applied (for IE)
    cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
    nowrap:     0,   // true to prevent slideshow from wrapping
    fastOnEvent:   0,   // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
    randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
    rev:     0,  // causes animations to transition in reverse
    manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
    requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
    requeueTimeout: 250,  // ms delay for requeue
    activePagerClass: 'activeSlide', // class name used for the active pager link
    updateActivePagerLink: null, // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
    backwards:     false  // true to start slideshow at last slide and move backwards through the stack
    })(jQuery);
    * jQuery Cycle Plugin Transition Definitions
    * This script is a plugin for the jQuery Cycle Plugin
    * Examples and documentation at: http://malsup.com/jquery/cycle/
    * Copyright (c) 2007-2010 M. Alsup
    * Version:  2.72
    * Dual licensed under the MIT and GPL licenses:
    * http://www.opensource.org/licenses/mit-license.php
    * http://www.gnu.org/licenses/gpl.html
    (function($) {
    // These functions define one-time slide initialization for the named
    // transitions. To save file size feel free to remove any of these that you
    // don't need.
    $.fn.cycle.transitions.none = function($cont, $slides, opts) {
    opts.fxFn = function(curr,next,opts,after){
      $(next).show();
      $(curr).hide();
      after();
    // scrollUp/Down/Left/Right
    $.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var h = $cont.height();
    opts.cssBefore ={ top: h, left: 0 };
    opts.cssFirst = { top: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { top: -h };
    $.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var h = $cont.height();
    opts.cssFirst = { top: 0 };
    opts.cssBefore= { top: -h, left: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { top: h };
    $.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var w = $cont.width();
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { left: w, top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { left: 0-w };
    $.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var w = $cont.width();
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { left: -w, top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { left: w };
    $.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
    $cont.css('overflow','hidden').width();
    opts.before.push(function(curr, next, opts, fwd) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
      opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { top: 0 };
    $.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push(function(curr, next, opts, fwd) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
      opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
    opts.cssFirst = { top: 0 };
    opts.cssBefore= { left: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { left: 0 };
    // slideX/slideY
    $.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $(opts.elements).not(curr).hide();
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.animIn.width = next.cycleW;
    opts.cssBefore = { left: 0, top: 0, width: 0 };
    opts.animIn  = { width: 'show' };
    opts.animOut = { width: 0 };
    $.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $(opts.elements).not(curr).hide();
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.animIn.height = next.cycleH;
    opts.cssBefore = { left: 0, top: 0, height: 0 };
    opts.animIn  = { height: 'show' };
    opts.animOut = { height: 0 };
    // shuffle
    $.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
    var i, w = $cont.css('overflow', 'visible').width();
    $slides.css({left: 0, top: 0});
    opts.before.push(function(curr,next,opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
    // only adjust speed once!
    if (!opts.speedAdjusted) {
      opts.speed = opts.speed / 2; // shuffle has 2 transitions
      opts.speedAdjusted = true;
    opts.random = 0;
    opts.shuffle = opts.shuffle || {left:-w, top:15};
    opts.els = [];
    for (i=0; i < $slides.length; i++)
      opts.els.push($slides[i]);
    for (i=0; i < opts.currSlide; i++)
      opts.els.push(opts.els.shift());
    // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
    opts.fxFn = function(curr, next, opts, cb, fwd) {
      var $el = fwd ? $(curr) : $(next);
      $(next).css(opts.cssBefore);
      var count = opts.slideCount;
      $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
       var hops = $.fn.cycle.hopsFromLast(opts, fwd);
       for (var k=0; k < hops; k++)
        fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
       if (fwd) {
        for (var i=0, len=opts.els.length; i < len; i++)
         $(opts.els[i]).css('z-index', len-i+count);
       else {
        var z = $(curr).css('z-index');
        $el.css('z-index', parseInt(z)+1+count);
       $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
        $(fwd ? this : curr).hide();
        if (cb) cb();
    opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
    // turnUp/Down/Left/Right
    $.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.cssBefore.top = next.cycleH;
      opts.animIn.height = next.cycleH;
    opts.cssFirst  = { top: 0 };
    opts.cssBefore = { left: 0, height: 0 };
    opts.animIn    = { top: 0 };
    opts.animOut   = { height: 0 };
    $.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssFirst  = { top: 0 };
    opts.cssBefore = { left: 0, top: 0, height: 0 };
    opts.animOut   = { height: 0 };
    $.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.cssBefore.left = next.cycleW;
      opts.animIn.width = next.cycleW;
    opts.cssBefore = { top: 0, width: 0  };
    opts.animIn    = { left: 0 };
    opts.animOut   = { width: 0 };
    $.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.animIn.width = next.cycleW;
      opts.animOut.left = curr.cycleW;
    opts.cssBefore = { top: 0, left: 0, width: 0 };
    opts.animIn    = { left: 0 };
    opts.animOut   = { width: 0 };
    // zoom
    $.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,false,true);
      opts.cssBefore.top = next.cycleH/2;
      opts.cssBefore.left = next.cycleW/2;
      opts.animIn    = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
      opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
    opts.cssFirst = { top:0, left: 0 };
    opts.cssBefore = { width: 0, height: 0 };
    // fadeZoom
    $.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,false);
      opts.cssBefore.left = next.cycleW/2;
      opts.cssBefore.top = next.cycleH/2;
      opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
    opts.cssBefore = { width: 0, height: 0 };
    opts.animOut  = { opacity: 0 };
    // blindX
    $.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
    var w = $cont.css('overflow','hidden').width();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.width = next.cycleW;
      opts.animOut.left   = curr.cycleW;
    opts.cssBefore = { left: w, top: 0 };
    opts.animIn = { left: 0 };
    opts.animOut  = { left: w };
    // blindY
    $.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
    var h = $cont.css('overflow','hidden').height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssBefore = { top: h, left: 0 };
    opts.animIn = { top: 0 };
    opts.animOut  = { top: h };
    // blindZ
    $.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
    var h = $cont.css('overflow','hidden').height();
    var w = $cont.width();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssBefore = { top: h, left: w };
    opts.animIn = { top: 0, left: 0 };
    opts.animOut  = { top: h, left: w };
    // growX - grow horizontally from centered 0 width
    $.fn.cycle.transitions.growX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.cssBefore.left = this.cycleW/2;
      opts.animIn = { left: 0, width: this.cycleW };
      opts.animOut = { left: 0 };
    opts.cssBefore = { width: 0, top: 0 };
    // growY - grow vertically from centered 0 height
    $.fn.cycle.transitions.growY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.cssBefore.top = this.cycleH/2;
      opts.animIn = { top: 0, height: this.cycleH };
      opts.animOut = { top: 0 };
    opts.cssBefore = { height: 0, left: 0 };
    // curtainX - squeeze in both edges horizontally
    $.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true,true);
      opts.cssBefore.left = next.cycleW/2;
      opts.animIn = { left: 0, width: this.cycleW };
      opts.animOut = { left: curr.cycleW/2, width: 0 };
    opts.cssBefore = { top: 0, width: 0 };
    // curtainY - squeeze in both edges vertically
    $.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false,true);
      opts.cssBefore.top = next.cycleH/2;
      opts.animIn = { top: 0, height: next.cycleH };
      opts.animOut = { top: curr.cycleH/2, height: 0 };
    opts.cssBefore = { left: 0, height: 0 };
    // cover - curr slide covered by next slide
    $.fn.cycle.transitions.cover = function($cont, $slides, opts) {
    var d = opts.direction || 'left';
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      if (d == 'right')
       opts.cssBefore.left = -w;
      else if (d == 'up')
       opts.cssBefore.top = h;
      else if (d == 'down')
       opts.cssBefore.top = -h;
      else
       opts.cssBefore.left = w;
    opts.animIn = { left: 0, top: 0};
    opts.animOut = { opacity: 1 };
    opts.cssBefore = { top: 0, left: 0 };
    // uncover - curr slide moves off next slide
    $.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
    var d = opts.direction || 'left';
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
      if (d == 'right')
       opts.animOut.left = w;
      else if (d == 'up')
       opts.animOut.top = -h;
      else if (d == 'down')
       opts.animOut.top = h;
      else
       opts.animOut.left = -w;
    opts.animIn = { left: 0, top: 0 };
    opts.animOut = { opacity: 1 };
    opts.cssBefore = { top: 0, left: 0 };
    // toss - move top slide and fade away
    $.fn.cycle.transitions.toss = function($cont, $slides, opts) {
    var w = $cont.css('overflow','visible').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
      // provide default toss settings if animOut not provided
      if (!opts.animOut.left && !opts.animOut.top)
       opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
      else
       opts.animOut.opacity = 0;
    opts.cssBefore = { left: 0, top: 0 };
    opts.animIn = { left: 0 };
    // wipe - clip animation
    $.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.cssBefore = opts.cssBefore || {};
    var clip;
    if (opts.clip) {
      if (/l2r/.test(opts.clip))
       clip = 'rect(0px 0px '+h+'px 0px)';
      else if (/r2l/.test(opts.clip))
       clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
      else if (/t2b/.test(opts.clip))
       clip = 'rect(0px '+w+'px 0px 0px)';
      else if (/b2t/.test(opts.clip))
       clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
      else if (/zoom/.test(opts.clip)) {
       var top = parseInt(h/2);
       var left = parseInt(w/2);
       clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
    opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
    var d = opts.cssBefore.clip.match(/(\d+)/g);
    var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);
    opts.before.push(function(curr, next, opts) {
      if (curr == next) return;
      var $curr = $(curr), $next = $(next);
      $.fn.cycle.commonReset(curr,next,opts,true,true,false);
      opts.cssAfter.display = 'block';
      var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
      (function f() {
       var tt = t ? t - parseInt(step * (t/count)) : 0;
       var ll = l ? l - parseInt(step * (l/count)) : 0;
       var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
       var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
       $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
       (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
    opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
    opts.animIn    = { left: 0 };
    opts.animOut   = { left: 0 };
    })(jQuery);
    I still cannot get it to work

  • Timeline Slideshow appears in IE but not Firefox or Safari

    I have created a looped slideshow displaying 4 photos every 3
    seconds. I created a Timeline called 'slide' that is using:
    <! <body onload="MM_timelinePlay('slide')">
    <! <div id="slide"><img
    src="images/tpl/10_Hpim0498.jpg" name="Image1" width="846"
    height="134" /></div>
    However, it appears Firefox and Safari do not know how to
    handle the Slideshow transition from Image 10_hpim0489.jpg to the
    next 3 jpg's.
    http://www.desertphreak.com/tpl33.htm
    What do I need to do to have Firefox and Safari interpret my
    slideshow correctly?
    Thanks in advance for any help!
    ~Desertphreak

    The timeline code is quite antique (and slated for removal in
    the next
    version of DW). In its current state (written when NN4x was
    an infant),
    there are browser compatability issues. I would not recommend
    you continue
    with it.
    You'd be much better off finding and using an image rotation
    script on the
    web - heck, CS3 even has one in its snippets you can use.
    And if you want to go first class, check the
    ImageGalleryMagic, or
    SlideShowMagic extensions at PVII -
    http://www.projectseven.com/
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "desertphreak" <[email protected]> wrote in
    message
    news:fognc5$7hb$[email protected]..
    >I have created a looped slideshow displaying 4 photos
    every 3 seconds. I
    > created a Timeline called 'slide' that is using:
    >
    > <! <body onload="MM_timelinePlay('slide')">
    > <! <div id="slide"><img
    src="images/tpl/10_Hpim0498.jpg" name="Image1"
    > width="846" height="134" /></div>
    >
    > However, it appears Firefox and Safari do not know how
    to handle the
    > Slideshow
    > transition from Image 10_hpim0489.jpg to the next 3
    jpg's.
    >
    >
    http://www.desertphreak.com/tpl33.htm
    >
    > What do I need to do to have Firefox and Safari
    interpret my slideshow
    > correctly?
    >
    > Thanks in advance for any help!
    >
    > ~Desertphreak
    >
    >
    > <body onload="MM_timelinePlay('slide')">
    > <div id="slide"><img
    src="images/tpl/10_Hpim0498.jpg" name="Image1"
    > width="846" height="134" /></div>
    >

  • How do i create a slideshow with arrows in iweb

    i want to create a "slideshow" that allows the user to move forward and backward using arrows at their own pace rather than a looping slideshow they cannot control.

    if you have iwe2 or iwe3 then you can use iweb photos page pop up slideshow.
    when your users pop up the slideshow, they can mouse-over the slideshow image and a slideshow will show up to allow them to pause/play, next and prev image.
    it also has thumbnails row on top, your users can selectively display and image.

  • Loop in all film?

    I have 4 movies in iDVD. How do I give loop in all film?

    Do you want to play all of the 4 movies consecutively? And loop the entire lot?  If so here's how:
    1 - add them all to a slideshow in iDVD.
    2 - set Slide Duration to anything but Manual .
    3 - do not add any music. 
    4 - do not add a transition.
    5 - go the the Map mode and select the slideshow.
    6 - go to the Advanced menu and select "Loop Slideshow".
    If this is not what you intend then describe in detail what you want to accomplish.
    OT

  • How can I get my Keynote to loop or repeat?

    Hey guys I could really use some help with this. How can I get a keynote presentation to automatically repeat it self after it ends...in other words I need it to loop indefinitely.
    Thanks,
    Christian

    Sure - in the Inspector, go to the 'Document' section (1st icon) and under Slideshow Settings, check the 'loop slideshow' checkbox.

  • Burn a slideshow without a menu to dvd-r

    Help! I'm trying to create a self-running dvd-r to be played tomorrow saturday oct 1 on a widescreen plasma tv monitor without using any of the iDVD menus.
    I tried to use the quicktime export to iDVD in iPhoto, and then just copying the .mov file to the dvd-r but the player doesn't recognize it.
    Is there a way to add _TS information? Any help would be appreciated.

    Not 100% certain so I went to the help menu in hopes of finding a possible quick solution for you. Don't know if you have already read this but i will post it here in case you have not:
    Looping movies and slideshows
    Instead of returning to the menu after playback, you can set slideshows or movies to "loop," or repeat from the beginning. When a slideshow finishes, it starts over with the first slide of the slideshow. When a movie finishes, it loops to the first scene of the movie.
    If there is background audio for the slideshow, the audio restarts from the beginning when the first slide appears.
    You can loop any movie or slideshow. Looping is turned on automatically in a menu with a drop zone.
    To turn on looping for a movie or a slideshow in the main iDVD window, select the movie or slideshow button on the DVD menu. Choose Advanced > Loop Movie or Loop Slideshow. To turn off looping, choose Advanced > Loop Movie or Loop Slideshow again.
    To turn on looping for a movie or a slideshow (including autoplay movies and slideshows) in map view, click Map. Select the movie or slideshow icon and choose Advanced > Loop Movie or Loop Slideshow. To turn off looping, choose Advanced > Loop Movie or Loop Slideshow again. Looping autoplay movies can be useful for creating self-playing presentations, such as kiosks.
    To turn on looping for a slideshow in the slideshow editor, double-click the slideshow button in the menu to open the slideshow editor. Select the checkbox labeled "Loop slideshow." To turn off looping, click the checkbox to deselect it.
    When looping is turned on for a selected movie or slideshow, a checkmark appears next to the Loop Movie or Loop Slideshow command in the Advanced menu, and a small gray icon appears in the lower-right corner of the movie or slideshow icon in map view.
    To exit from looping when viewing the DVD, press the menu button on the DVD remote control.
    Good Luck and please post back and tell us how you finally decided to addressed this isssue.
    SDMacuser

  • Photos stored in DVD-ROM section of DVD Slideshow

    I have created a DVD Slideshow using 50 pictures from iphoto and I checked "Add image files to DVD-ROM" box. I have done this several years ago but am totally baffled as to to link these images to a button which will allow access to them from the finished DVD. HELP!
    iMac G4   Mac OS X (10.4.7)   512 MB SDRAM, 800Mghz

    Hi cputzi
    You can do this w/in DVDSP.
    Did you already check out the iDVD Help Menu Procedure?
    To create a slideshow in iDVD:
    1. Click Media to open the Media pane, then click Photos to display your iPhoto albums.
    2. Drag an album to the DVD menu. A button is created that links to the images. The button has the name of your iPhoto album and automatically displays the first slide in the slideshow.
    3. If you want to change the button label, select the button and type a new name.
    4. Double-click the button to open the slideshow editor.
    5. The slideshow editor shows thumbnails of the photos in the slideshow. Drag the slider to change the size of the thumbnails, so you can see more slides at once, or fewer slides with more detail.
    6. Add, arrange, or delete slides from the slideshow to create the sequence you want.
    • To add other images, drag files or folders from the Finder to the slideshow editor.
    • To reorder the images, select the slides you want to move and drag them to a different position.
    • To delete an image, select it and choose Edit > Delete.
    7. Click Settings and select the settings you want for the slideshow:
    • "Loop slideshow" makes the slideshow repeat continuously until the viewer moves to a different part of the DVD.
    • "Display navigation arrows" shows navigation arrows on the screen to indicate where the viewer is in the slideshow.
    • "Add image files to DVD-ROM" adds copies of the slideshow images to the DVD disc so viewers can download them to their computers.
    • "Show titles and comments" lets you add titles and comments to your slideshow images that are visible in the slideshow.
    8. Click the Transition pop-up menu and choose a transition to smoothly move from one image to the next.
    9. Click the Slide Duration pop-up menu and choose the length of time you want each slide to stay on the screen. Be sure to allow enough time for the transition you selected.
    10. To let the viewer advance through the slideshow manually using a remote control, choose Manual.
    11. Note: If you're adding a soundtrack, you don't need to set the slide duration.
    12. To add a soundtrack, click Media to open the Media pane, then click Audio to find a song in your iTunes library or GarageBand that would make a nice background for the slideshow.
    13. Drag the song or audio track from the Media pane, or from another location on your hard disk, and drop it in the audio well in the slideshow editor.
    14. iDVD automatically adjusts the overall duration of the slides to match the length of the audio clip. The slide duration is changed to "Fit to Audio." You can change the duration if you want.
    15. Drag the "Slideshow volume" slider to set the volume. You can check the volume when you preview the slideshow.
    Note: When you add RAW images from iPhoto, the RAW files will appear in the slideshow as JPEG images. The RAW files are placed in the DVD-ROM portion of the disc if you choose that option.
    Hope this is helpful
    SDMacuser

  • Bridge CS5 pdf slideshow problem

    My problem is that when I create a pdf slideshow, it loops even though I do not check the box next to "loop after last page". I have tried multiple times with no success. Any advice will be greatly appreciated.
    Thanks!
    Tom

    No, the "repeat slideshow" is not checked. Excuse my ignorance, but wouldn't that setting apply to viewing the slideshow in Bridge? My question relates to the saved pdf file, executed outside of Bridge.
    The Output option for loop slideshow is for opening in third party viewers. It is also a bit of a mystery for me but in basic the theory should be when saving loop and playback options opening this file in a viewer application that should start with asking to accept the settings for this document (it does so in Acrobat Pro but not in my basic preview app on a Mac.
    Ironically Bridge itself does not respond to the loop preset when having its own view slideshow active (but to be honest, this does not surprise me at all, one of the many flaws of Bridge when it comes to consistency )
    And settings in the viewer on its turn should override the settings in the file (unless as described above in Acrobat with asking for permission). But as often, this is the theory and with all different applications and systems it is hard to find a general protocol for use.
    If you have checked if both the file and the viewer don't have the loop after last page setting saved and you did not save it in a template in the Output module (but then it should be selected I would think) and it keeps repeating to loop then maybe reset the preferences for Bridge.

Maybe you are looking for

  • DVD drive died - l need to reinstall XP Satellite A105

    Hi everyone, My wife went on vacation to Hawaii, and while she was gone, her Satellite A105 (no longer under warranty with a dead DVD drive) started malfunctioning to the point where XP where freeze on boot. I tried everything I could but it wouldn't

  • How to find out jre version installed ,using a java program?

    Hello, Is there any way to find out the installed JRE version using a java program ? The requirement is as follows: There is a html page with 4 steps to install a software. each step is a link, which upon clicking does its work. the first step is to

  • Comment feature on websites = why not?

    Why isn't there a feature to allow visitors to leave comments on my standard page? Apparently you HAVE to make it a blog page or photo album page of some kind to allow anyone to interact and leave comments. I think that's stupid. All styles of pages

  • Non-Apple keyboard and Target display mode?

    Hi, How do I change to Target Display Mode with a Logitech keyboard? The usual Command/Windows + f2wont work! edit: what would be perfect is an applescript to do this, anybody ever heard of one?

  • The 100 new features in the 3.0 update?

    Does anyone know what they were? I have the spotlight search, the landscape option for texting, the voice recorder but other than that, what is there? I don't have 100 new features like it said. I don't even have the videocamera. The one thing I want