Slider με κείμενο gadget για τον Blogger

0
Ένα πρωτότυπο gadget με εναλλασσόμενο κείμενο. Πρωτότυπο γιατί τόσο καιρό παρουσιάζαμε sliders με αποκλειστικότητα τις εικόνες.

Θα σας δώσει την δυνατότητα να μεταφέρετε μηνύματα κειμένου, όπως πολιτικές ορθής χρήσης, διαφημιστικές καμπάνιες και πολλά πολλά άλλα.

DEMO

Επικολλήστε τον CSS κώδικα πριν από την ]]></b:skin>

.slider-wrapper {
 width: 100%;
 overflow: hidden;
 margin: 0 auto 0 auto;
 height: auto;
 display: inline-block;
}
 
ul.slides li {
 color: #fff;
 font-family: "Arial",serif;
 font-style: normal;
 font-weight: 400;
 font-size: 20px; /* 26/16*/
 line-height: 29px; /* 31/16 */
}
 
span.client-name {
 font-weight: 600;
 font-size: 16px;
 font-style: italic;
}
 
span.client {
 font-family: "brandon-grotesque",sans-serif;
 font-weight: 500;
 font-size: 16px;
}
 
a.callout h1 {
 width: 100%;
 text-align: center;
 padding: 30px 0;
 color: #444135;
 display: block;
 -webkit-transition: background .35s ease-in-out;
 -moz-transition: background .35s ease-in-out;
 -ms-transition: background .35s ease-in-out;
 -o-transition: background .35s ease-in-out;
 transition: background .35s ease-in-out; 
}
 
a.callout h1:hover {
 background: #f07057;
 color: #fff;
}
/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */
 
  
/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
 
/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
 
/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
 
/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}
 
 
/* FlexSlider Default Theme
*********************************/
.flexslider {margin: 0 0 60px 0; position: relative;
background: #488AFC;
padding: 40px 60px;
}
.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .flex-viewport {max-height: 300px;}
.flexslider .slides {zoom: 1;}
 
.carousel li {margin-right: 5px;}
 
 
/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(../images/bg_direction_nav.png) no-repeat 0 0; background-size: 57px 27px; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.flex-direction-nav .flex-next {background-position: 100% 0; right: 15px;opacity: .2;}
.flex-direction-nav .flex-prev {left: 15px;opacity: .2;}
.flexslider:hover .flex-next {opacity: .5; right: 15px;}
.flexslider:hover .flex-prev {opacity: .5; left: 15px;}
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: .5;}
.flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}
 
/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; left: 0px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 8px; height: 8px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
 
.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
 
@media screen and (max-width: 467px) {
.flexslider {margin: 0 0 50px 0; position: relative;padding: 20px 30px;}
.flex-control-paging li a {width: 5px; height: 5px;margin-top: -30px;}
.flex-direction-nav a {
width: 15px; height: 15px;
background-size: 29px 14px;}
.flex-direction-nav .flex-next {background-position: 100% 0; right: 10px;opacity: .5;}
.flex-direction-nav .flex-prev {left: 10px;opacity: .5;}
.flexslider:hover .flex-next {opacity: .5; right: 10px;}
.flexslider:hover .flex-prev {opacity: .5; left: 10px;}


Επικολλήστε τους JavaScript κώδικες πριν από την </head>

<script src='http://code.jquery.com/jquery-latest.js' type='text/javascript'/>
   
  <script>
/*
 * jQuery FlexSlider v2.1
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */
 
;(function ($) {
 
  //FlexSlider: Object Instance
  $.flexslider = function(el, options) {
    var slider = $(el),
        vars = $.extend({}, $.flexslider.defaults, options),
        namespace = vars.namespace,
        touch = (&quot;ontouchstart&quot; in window) || window.DocumentTouch &amp;&amp; document instanceof DocumentTouch,
        eventType = (touch) ? &quot;touchend&quot; : &quot;click&quot;,
        vertical = vars.direction === &quot;vertical&quot;,
        reverse = vars.reverse,
        carousel = (vars.itemWidth &gt; 0),
        fade = vars.animation === &quot;fade&quot;,
        asNav = vars.asNavFor !== &quot;&quot;,
        methods = {};
     
    // Store a reference to the slider object
    $.data(el, &quot;flexslider&quot;, slider);
     
    // Privat slider methods
    methods = {
      init: function() {
        slider.animating = false;
        slider.currentSlide = vars.startAt;
        slider.animatingTo = slider.currentSlide;
        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
        slider.containerSelector = vars.selector.substr(0,vars.selector.search(&#39; &#39;));
        slider.slides = $(vars.selector, slider);
        slider.container = $(slider.containerSelector, slider);
        slider.count = slider.slides.length;
        // SYNC:
        slider.syncExists = $(vars.sync).length &gt; 0;
        // SLIDE:
        if (vars.animation === &quot;slide&quot;) vars.animation = &quot;swing&quot;;
        slider.prop = (vertical) ? &quot;top&quot; : &quot;marginLeft&quot;;
        slider.args = {};
        // SLIDESHOW:
        slider.manualPause = false;
        // TOUCH/USECSS:
        slider.transitions = !vars.video &amp;&amp; !fade &amp;&amp; vars.useCSS &amp;&amp; (function() {
          var obj = document.createElement(&#39;div&#39;),
              props = [&#39;perspectiveProperty&#39;, &#39;WebkitPerspective&#39;, &#39;MozPerspective&#39;, &#39;OPerspective&#39;, &#39;msPerspective&#39;];
          for (var i in props) {
            if ( obj.style[ props[i] ] !== undefined ) {
              slider.pfx = props[i].replace(&#39;Perspective&#39;,&#39;&#39;).toLowerCase();
              slider.prop = &quot;-&quot; + slider.pfx + &quot;-transform&quot;;
              return true;
            }
          }
          return false;
        }());
        // CONTROLSCONTAINER:
        if (vars.controlsContainer !== &quot;&quot;) slider.controlsContainer = $(vars.controlsContainer).length &gt; 0 &amp;&amp; $(vars.controlsContainer);
        // MANUAL:
        if (vars.manualControls !== &quot;&quot;) slider.manualControls = $(vars.manualControls).length &gt; 0 &amp;&amp; $(vars.manualControls);
         
        // RANDOMIZE:
        if (vars.randomize) {
          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
          slider.container.empty().append(slider.slides);
        }
         
        slider.doMath();
         
        // ASNAV:
        if (asNav) methods.asNav.setup();
         
        // INIT
        slider.setup(&quot;init&quot;);
         
        // CONTROLNAV:
        if (vars.controlNav) methods.controlNav.setup();
         
        // DIRECTIONNAV:
        if (vars.directionNav) methods.directionNav.setup();
         
        // KEYBOARD:
        if (vars.keyboard &amp;&amp; ($(slider.containerSelector).length === 1 || vars.multipleKeyboard)) {
          $(document).bind(&#39;keyup&#39;, function(event) {
            var keycode = event.keyCode;
            if (!slider.animating &amp;&amp; (keycode === 39 || keycode === 37)) {
              var target = (keycode === 39) ? slider.getTarget(&#39;next&#39;) :
                           (keycode === 37) ? slider.getTarget(&#39;prev&#39;) : false;
              slider.flexAnimate(target, vars.pauseOnAction);
            }
          });
        }
        // MOUSEWHEEL:
        if (vars.mousewheel) {
          slider.bind(&#39;mousewheel&#39;, function(event, delta, deltaX, deltaY) {
            event.preventDefault();
            var target = (delta &lt; 0) ? slider.getTarget(&#39;next&#39;) : slider.getTarget(&#39;prev&#39;);
            slider.flexAnimate(target, vars.pauseOnAction);
          });
        }
         
        // PAUSEPLAY
        if (vars.pausePlay) methods.pausePlay.setup();
         
        // SLIDSESHOW
        if (vars.slideshow) {
          if (vars.pauseOnHover) {
            slider.hover(function() {
              if (!slider.manualPlay &amp;&amp; !slider.manualPause) slider.pause();
            }, function() {
              if (!slider.manualPause &amp;&amp; !slider.manualPlay) slider.play();
            });
          }
          // initialize animation
          (vars.initDelay &gt; 0) ? setTimeout(slider.play, vars.initDelay) : slider.play();
        }
         
        // TOUCH
        if (touch &amp;&amp; vars.touch) methods.touch();
         
        // FADE&amp;&amp;SMOOTHHEIGHT || SLIDE:
        if (!fade || (fade &amp;&amp; vars.smoothHeight)) $(window).bind(&quot;resize focus&quot;, methods.resize);
         
         
        // API: start() Callback
        setTimeout(function(){
          vars.start(slider);
        }, 200);
      },
      asNav: {
        setup: function() {
          slider.asNav = true;
          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
          slider.currentItem = slider.currentSlide;
          slider.slides.removeClass(namespace + &quot;active-slide&quot;).eq(slider.currentItem).addClass(namespace + &quot;active-slide&quot;);
          slider.slides.click(function(e){
            e.preventDefault();
            var $slide = $(this),
                target = $slide.index();
            if (!$(vars.asNavFor).data(&#39;flexslider&#39;).animating &amp;&amp; !$slide.hasClass(&#39;active&#39;)) {
              slider.direction = (slider.currentItem &lt; target) ? &quot;next&quot; : &quot;prev&quot;;
              slider.flexAnimate(target, vars.pauseOnAction, false, true, true);
            }
          });
        }
      },
      controlNav: {
        setup: function() {
          if (!slider.manualControls) {
            methods.controlNav.setupPaging();
          } else { // MANUALCONTROLS:
            methods.controlNav.setupManual();
          }
        },
        setupPaging: function() {
          var type = (vars.controlNav === &quot;thumbnails&quot;) ? &#39;control-thumbs&#39; : &#39;control-paging&#39;,
              j = 1,
              item;
           
          slider.controlNavScaffold = $(&#39;&lt;ol class=&quot;&#39;+ namespace + &#39;control-nav &#39; + namespace + type + &#39;&quot;&gt;&lt;/ol&gt;&#39;);
           
          if (slider.pagingCount &gt; 1) {
            for (var i = 0; i &lt; slider.pagingCount; i++) {
              item = (vars.controlNav === &quot;thumbnails&quot;) ? &#39;&lt;img src=&quot;&#39; + slider.slides.eq(i).attr(&quot;data-thumb&quot;) + &#39;&quot;/&gt;&#39; : &#39;&lt;a&gt;&#39; + j + &#39;&lt;/a&gt;&#39;;
              slider.controlNavScaffold.append(&#39;&lt;li&gt;&#39; + item + &#39;&lt;/li&gt;&#39;);
              j++;
            }
          }
           
          // CONTROLSCONTAINER:
          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
          methods.controlNav.set();
           
          methods.controlNav.active();
         
          slider.controlNavScaffold.delegate(&#39;a, img&#39;, eventType, function(event) {
            event.preventDefault();
            var $this = $(this),
                target = slider.controlNav.index($this);
 
            if (!$this.hasClass(namespace + &#39;active&#39;)) {
              slider.direction = (target &gt; slider.currentSlide) ? &quot;next&quot; : &quot;prev&quot;;
              slider.flexAnimate(target, vars.pauseOnAction);
            }
          });
          // Prevent iOS click event bug
          if (touch) {
            slider.controlNavScaffold.delegate(&#39;a&#39;, &quot;click touchstart&quot;, function(event) {
              event.preventDefault();
            });
          }
        },
        setupManual: function() {
          slider.controlNav = slider.manualControls;
          methods.controlNav.active();
           
          slider.controlNav.live(eventType, function(event) {
            event.preventDefault();
            var $this = $(this),
                target = slider.controlNav.index($this);
                 
            if (!$this.hasClass(namespace + &#39;active&#39;)) {
              (target &gt; slider.currentSlide) ? slider.direction = &quot;next&quot; : slider.direction = &quot;prev&quot;;
              slider.flexAnimate(target, vars.pauseOnAction);
            }
          });
          // Prevent iOS click event bug
          if (touch) {
            slider.controlNav.live(&quot;click touchstart&quot;, function(event) {
              event.preventDefault();
            });
          }
        },
        set: function() {
          var selector = (vars.controlNav === &quot;thumbnails&quot;) ? &#39;img&#39; : &#39;a&#39;;
          slider.controlNav = $(&#39;.&#39; + namespace + &#39;control-nav li &#39; + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
        },
        active: function() {
          slider.controlNav.removeClass(namespace + &quot;active&quot;).eq(slider.animatingTo).addClass(namespace + &quot;active&quot;);
        },
        update: function(action, pos) {
          if (slider.pagingCount &gt; 1 &amp;&amp; action === &quot;add&quot;) {
            slider.controlNavScaffold.append($(&#39;&lt;li&gt;&lt;a&gt;&#39; + slider.count + &#39;&lt;/a&gt;&lt;/li&gt;&#39;));
          } else if (slider.pagingCount === 1) {
            slider.controlNavScaffold.find(&#39;li&#39;).remove();
          } else {
            slider.controlNav.eq(pos).closest(&#39;li&#39;).remove();
          }
          methods.controlNav.set();
          (slider.pagingCount &gt; 1 &amp;&amp; slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
        }
      },
      directionNav: {
        setup: function() {
          var directionNavScaffold = $(&#39;&lt;ul class=&quot;&#39; + namespace + &#39;direction-nav&quot;&gt;&lt;li&gt;&lt;a class=&quot;&#39; + namespace + &#39;prev&quot; href=&quot;#&quot;&gt;&#39; + vars.prevText + &#39;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class=&quot;&#39; + namespace + &#39;next&quot; href=&quot;#&quot;&gt;&#39; + vars.nextText + &#39;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&#39;);
         
          // CONTROLSCONTAINER:
          if (slider.controlsContainer) {
            $(slider.controlsContainer).append(directionNavScaffold);
            slider.directionNav = $(&#39;.&#39; + namespace + &#39;direction-nav li a&#39;, slider.controlsContainer);
          } else {
            slider.append(directionNavScaffold);
            slider.directionNav = $(&#39;.&#39; + namespace + &#39;direction-nav li a&#39;, slider);
          }
         
          methods.directionNav.update();
         
          slider.directionNav.bind(eventType, function(event) {
            event.preventDefault();
            var target = ($(this).hasClass(namespace + &#39;next&#39;)) ? slider.getTarget(&#39;next&#39;) : slider.getTarget(&#39;prev&#39;);
            slider.flexAnimate(target, vars.pauseOnAction);
          });
          // Prevent iOS click event bug
          if (touch) {
            slider.directionNav.bind(&quot;click touchstart&quot;, function(event) {
              event.preventDefault();
            });
          }
        },
        update: function() {
          var disabledClass = namespace + &#39;disabled&#39;;
          if (slider.pagingCount === 1) {
            slider.directionNav.addClass(disabledClass);
          } else if (!vars.animationLoop) {
            if (slider.animatingTo === 0) {
              slider.directionNav.removeClass(disabledClass).filter(&#39;.&#39; + namespace + &quot;prev&quot;).addClass(disabledClass);
            } else if (slider.animatingTo === slider.last) {
              slider.directionNav.removeClass(disabledClass).filter(&#39;.&#39; + namespace + &quot;next&quot;).addClass(disabledClass);
            } else {
              slider.directionNav.removeClass(disabledClass);
            }
          } else {
            slider.directionNav.removeClass(disabledClass);
          }
        }
      },
      pausePlay: {
        setup: function() {
          var pausePlayScaffold = $(&#39;&lt;div class=&quot;&#39; + namespace + &#39;pauseplay&quot;&gt;&lt;a&gt;&lt;/a&gt;&lt;/div&gt;&#39;);
         
          // CONTROLSCONTAINER:
          if (slider.controlsContainer) {
            slider.controlsContainer.append(pausePlayScaffold);
            slider.pausePlay = $(&#39;.&#39; + namespace + &#39;pauseplay a&#39;, slider.controlsContainer);
          } else {
            slider.append(pausePlayScaffold);
            slider.pausePlay = $(&#39;.&#39; + namespace + &#39;pauseplay a&#39;, slider);
          }
 
          methods.pausePlay.update((vars.slideshow) ? namespace + &#39;pause&#39; : namespace + &#39;play&#39;);
 
          slider.pausePlay.bind(eventType, function(event) {
            event.preventDefault();
            if ($(this).hasClass(namespace + &#39;pause&#39;)) {
              slider.manualPause = true;
              slider.manualPlay = false;
              slider.pause();
            } else {
              slider.manualPause = false;
              slider.manualPlay = true;
              slider.play();
            }
          });
          // Prevent iOS click event bug
          if (touch) {
            slider.pausePlay.bind(&quot;click touchstart&quot;, function(event) {
              event.preventDefault();
            });
          }
        },
        update: function(state) {
          (state === &quot;play&quot;) ? slider.pausePlay.removeClass(namespace + &#39;pause&#39;).addClass(namespace + &#39;play&#39;).text(vars.playText) : slider.pausePlay.removeClass(namespace + &#39;play&#39;).addClass(namespace + &#39;pause&#39;).text(vars.pauseText);
        }
      },
      touch: function() {
        var startX,
          startY,
          offset,
          cwidth,
          dx,
          startT,
          scrolling = false;
               
        el.addEventListener(&#39;touchstart&#39;, onTouchStart, false);
        function onTouchStart(e) {
          if (slider.animating) {
            e.preventDefault();
          } else if (e.touches.length === 1) {
            slider.pause();
            // CAROUSEL:
            cwidth = (vertical) ? slider.h : slider. w;
            startT = Number(new Date());
            // CAROUSEL:
            offset = (carousel &amp;&amp; reverse &amp;&amp; slider.animatingTo === slider.last) ? 0 :
                     (carousel &amp;&amp; reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
                     (carousel &amp;&amp; slider.currentSlide === slider.last) ? slider.limit :
                     (carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide :
                     (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
            startX = (vertical) ? e.touches[0].pageY : e.touches[0].pageX;
            startY = (vertical) ? e.touches[0].pageX : e.touches[0].pageY;
 
            el.addEventListener(&#39;touchmove&#39;, onTouchMove, false);
            el.addEventListener(&#39;touchend&#39;, onTouchEnd, false);
          }
        }
 
        function onTouchMove(e) {
          dx = (vertical) ? startX - e.touches[0].pageY : startX - e.touches[0].pageX;
          scrolling = (vertical) ? (Math.abs(dx) &lt; Math.abs(e.touches[0].pageX - startY)) : (Math.abs(dx) &lt; Math.abs(e.touches[0].pageY - startY));
           
          if (!scrolling || Number(new Date()) - startT &gt; 500) {
            e.preventDefault();
            if (!fade &amp;&amp; slider.transitions) {
              if (!vars.animationLoop) {
                dx = dx/((slider.currentSlide === 0 &amp;&amp; dx &lt; 0 || slider.currentSlide === slider.last &amp;&amp; dx &gt; 0) ? (Math.abs(dx)/cwidth+2) : 1);
              }
              slider.setProps(offset + dx, &quot;setTouch&quot;);
            }
          }
        }
         
        function onTouchEnd(e) {
          // finish the touch by undoing the touch session
          el.removeEventListener(&#39;touchmove&#39;, onTouchMove, false);
           
          if (slider.animatingTo === slider.currentSlide &amp;&amp; !scrolling &amp;&amp; !(dx === null)) {
            var updateDx = (reverse) ? -dx : dx,
                target = (updateDx &gt; 0) ? slider.getTarget(&#39;next&#39;) : slider.getTarget(&#39;prev&#39;);
             
            if (slider.canAdvance(target) &amp;&amp; (Number(new Date()) - startT &lt; 550 &amp;&amp; Math.abs(updateDx) &gt; 50 || Math.abs(updateDx) &gt; cwidth/2)) {
              slider.flexAnimate(target, vars.pauseOnAction);
            } else {
              if (!fade) slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);
            }
          }
          el.removeEventListener(&#39;touchend&#39;, onTouchEnd, false);
          startX = null;
          startY = null;
          dx = null;
          offset = null;
        }
      },
      resize: function() {
        if (!slider.animating &amp;&amp; slider.is(&#39;:visible&#39;)) {
          if (!carousel) slider.doMath();
           
          if (fade) {
            // SMOOTH HEIGHT:
            methods.smoothHeight();
          } else if (carousel) { //CAROUSEL:
            slider.slides.width(slider.computedW);
            slider.update(slider.pagingCount);
            slider.setProps();
          }
          else if (vertical) { //VERTICAL:
            slider.viewport.height(slider.h);
            slider.setProps(slider.h, &quot;setTotal&quot;);
          } else {
            // SMOOTH HEIGHT:
            if (vars.smoothHeight) methods.smoothHeight();
            slider.newSlides.width(slider.computedW);
            slider.setProps(slider.computedW, &quot;setTotal&quot;);
          }
        }
      },
      smoothHeight: function(dur) {
        if (!vertical || fade) {
          var $obj = (fade) ? slider : slider.viewport;
          (dur) ? $obj.animate({&quot;height&quot;: slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
        }
      },
      sync: function(action) {
        var $obj = $(vars.sync).data(&quot;flexslider&quot;),
            target = slider.animatingTo;
         
        switch (action) {
          case &quot;animate&quot;: $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;
          case &quot;play&quot;: if (!$obj.playing &amp;&amp; !$obj.asNav) { $obj.play(); } break;
          case &quot;pause&quot;: $obj.pause(); break;
        }
      }
    }
     
    // public methods
    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
      if (asNav &amp;&amp; slider.pagingCount === 1) slider.direction = (slider.currentItem &lt; target) ? &quot;next&quot; : &quot;prev&quot;;
       
      if (!slider.animating &amp;&amp; (slider.canAdvance(target, fromNav) || override) &amp;&amp; slider.is(&quot;:visible&quot;)) {
        if (asNav &amp;&amp; withSync) {
          var master = $(vars.asNavFor).data(&#39;flexslider&#39;);
          slider.atEnd = target === 0 || target === slider.count - 1;
          master.flexAnimate(target, true, false, true, fromNav);
          slider.direction = (slider.currentItem &lt; target) ? &quot;next&quot; : &quot;prev&quot;;
          master.direction = slider.direction;
           
          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide &amp;&amp; target !== 0) {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + &quot;active-slide&quot;).eq(target).addClass(namespace + &quot;active-slide&quot;);
            target = Math.floor(target/slider.visible);
          } else {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + &quot;active-slide&quot;).eq(target).addClass(namespace + &quot;active-slide&quot;);
            return false;
          }
        }
         
        slider.animating = true;
        slider.animatingTo = target;
        // API: before() animation Callback
        vars.before(slider);
         
        // SLIDESHOW:
        if (pause) slider.pause();
         
        // SYNC:
        if (slider.syncExists &amp;&amp; !fromNav) methods.sync(&quot;animate&quot;);
         
        // CONTROLNAV
        if (vars.controlNav) methods.controlNav.active();
         
        // !CAROUSEL:
        // CANDIDATE: slide active class (for add/remove slide)
        if (!carousel) slider.slides.removeClass(namespace + &#39;active-slide&#39;).eq(target).addClass(namespace + &#39;active-slide&#39;);
         
        // INFINITE LOOP:
        // CANDIDATE: atEnd
        slider.atEnd = target === 0 || target === slider.last;
         
        // DIRECTIONNAV:
        if (vars.directionNav) methods.directionNav.update();
         
        if (target === slider.last) {
          // API: end() of cycle Callback
          vars.end(slider);
          // SLIDESHOW &amp;&amp; !INFINITE LOOP:
          if (!vars.animationLoop) slider.pause();
        }
         
        // SLIDE:
        if (!fade) {
          var dimension = (vertical) ? slider.slides.filter(&#39;:first&#39;).height() : slider.computedW,
              margin, slideString, calcNext;
           
          // INFINITE LOOP / REVERSE:
          if (carousel) {
            margin = (vars.itemWidth &gt; slider.w) ? vars.itemMargin * 2 : vars.itemMargin;
            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
            slideString = (calcNext &gt; slider.limit &amp;&amp; slider.visible !== 1) ? slider.limit : calcNext;
          } else if (slider.currentSlide === 0 &amp;&amp; target === slider.count - 1 &amp;&amp; vars.animationLoop &amp;&amp; slider.direction !== &quot;next&quot;) {
            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
          } else if (slider.currentSlide === slider.last &amp;&amp; target === 0 &amp;&amp; vars.animationLoop &amp;&amp; slider.direction !== &quot;prev&quot;) {
            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
          } else {
            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
          }
          slider.setProps(slideString, &quot;&quot;, vars.animationSpeed);
          if (slider.transitions) {
            if (!vars.animationLoop || !slider.atEnd) {
              slider.animating = false;
              slider.currentSlide = slider.animatingTo;
            }
            slider.container.unbind(&quot;webkitTransitionEnd transitionend&quot;);
            slider.container.bind(&quot;webkitTransitionEnd transitionend&quot;, function() {
              slider.wrapup(dimension);
            });
          } else {
            slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function(){
              slider.wrapup(dimension);
            });
          }
        } else { // FADE:
          if (!touch) {
            slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);
            slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);
          } else {
            slider.slides.eq(slider.currentSlide).css({ &quot;opacity&quot;: 0, &quot;zIndex&quot;: 1 });
            slider.slides.eq(target).css({ &quot;opacity&quot;: 1, &quot;zIndex&quot;: 2 });
            slider.animating = false;
            slider.currentSlide = slider.animatingTo;
          }
        }
        // SMOOTH HEIGHT:
        if (vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);
      }
    }
    slider.wrapup = function(dimension) {
      // SLIDE:
      if (!fade &amp;&amp; !carousel) {
        if (slider.currentSlide === 0 &amp;&amp; slider.animatingTo === slider.last &amp;&amp; vars.animationLoop) {
          slider.setProps(dimension, &quot;jumpEnd&quot;);
        } else if (slider.currentSlide === slider.last &amp;&amp; slider.animatingTo === 0 &amp;&amp; vars.animationLoop) {
          slider.setProps(dimension, &quot;jumpStart&quot;);
        }
      }
      slider.animating = false;
      slider.currentSlide = slider.animatingTo;
      // API: after() animation Callback
      vars.after(slider);
    }
     
    // SLIDESHOW:
    slider.animateSlides = function() {
      if (!slider.animating) slider.flexAnimate(slider.getTarget(&quot;next&quot;));
    }
    // SLIDESHOW:
    slider.pause = function() {
      clearInterval(slider.animatedSlides);
      slider.playing = false;
      // PAUSEPLAY:
      if (vars.pausePlay) methods.pausePlay.update(&quot;play&quot;);
      // SYNC:
      if (slider.syncExists) methods.sync(&quot;pause&quot;);
    }
    // SLIDESHOW:
    slider.play = function() {
      slider.animatedSlides = setInterval(slider.animateSlides, vars.slideshowSpeed);
      slider.playing = true;
      // PAUSEPLAY:
      if (vars.pausePlay) methods.pausePlay.update(&quot;pause&quot;);
      // SYNC:
      if (slider.syncExists) methods.sync(&quot;play&quot;);
    }
    slider.canAdvance = function(target, fromNav) {
      // ASNAV:
      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
      return (fromNav) ? true :
             (asNav &amp;&amp; slider.currentItem === slider.count - 1 &amp;&amp; target === 0 &amp;&amp; slider.direction === &quot;prev&quot;) ? true :
             (asNav &amp;&amp; slider.currentItem === 0 &amp;&amp; target === slider.pagingCount - 1 &amp;&amp; slider.direction !== &quot;next&quot;) ? false :
             (target === slider.currentSlide &amp;&amp; !asNav) ? false :
             (vars.animationLoop) ? true :
             (slider.atEnd &amp;&amp; slider.currentSlide === 0 &amp;&amp; target === last &amp;&amp; slider.direction !== &quot;next&quot;) ? false :
             (slider.atEnd &amp;&amp; slider.currentSlide === last &amp;&amp; target === 0 &amp;&amp; slider.direction === &quot;next&quot;) ? false :
             true;
    }
    slider.getTarget = function(dir) {
      slider.direction = dir;
      if (dir === &quot;next&quot;) {
        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
      } else {
        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
      }
    }
     
    // SLIDE:
    slider.setProps = function(pos, special, dur) {
      var target = (function() {
        var posCheck = (pos) ? pos : ((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,
            posCalc = (function() {
              if (carousel) {
                return (special === &quot;setTouch&quot;) ? pos :
                       (reverse &amp;&amp; slider.animatingTo === slider.last) ? 0 :
                       (reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
              } else {
                switch (special) {
                  case &quot;setTotal&quot;: return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
                  case &quot;setTouch&quot;: return (reverse) ? pos : pos;
                  case &quot;jumpEnd&quot;: return (reverse) ? pos : slider.count * pos;
                  case &quot;jumpStart&quot;: return (reverse) ? slider.count * pos : pos;
                  default: return pos;
                }
              }
            }());
            return (posCalc * -1) + &quot;px&quot;;
          }());
 
      if (slider.transitions) {
        target = (vertical) ? &quot;translate3d(0,&quot; + target + &quot;,0)&quot; : &quot;translate3d(&quot; + target + &quot;,0,0)&quot;;
        dur = (dur !== undefined) ? (dur/1000) + &quot;s&quot; : &quot;0s&quot;;
        slider.container.css(&quot;-&quot; + slider.pfx + &quot;-transition-duration&quot;, dur);
      }
       
      slider.args[slider.prop] = target;
      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
    }
     
    slider.setup = function(type) {
      // SLIDE:
      if (!fade) {
        var sliderOffset, arr;
             
        if (type === &quot;init&quot;) {
          slider.viewport = $(&#39;&lt;div class=&quot;&#39; + namespace + &#39;viewport&quot;&gt;&lt;/div&gt;&#39;).css({&quot;overflow&quot;: &quot;hidden&quot;, &quot;position&quot;: &quot;relative&quot;}).appendTo(slider).append(slider.container);
          // INFINITE LOOP:
          slider.cloneCount = 0;
          slider.cloneOffset = 0;
          // REVERSE:
          if (reverse) {
            arr = $.makeArray(slider.slides).reverse();
            slider.slides = $(arr);
            slider.container.empty().append(slider.slides);
          }
        }
        // INFINITE LOOP &amp;&amp; !CAROUSEL:
        if (vars.animationLoop &amp;&amp; !carousel) {
          slider.cloneCount = 2;
          slider.cloneOffset = 1;
          // clear out old clones
          if (type !== &quot;init&quot;) slider.container.find(&#39;.clone&#39;).remove();
          slider.container.append(slider.slides.first().clone().addClass(&#39;clone&#39;)).prepend(slider.slides.last().clone().addClass(&#39;clone&#39;));
        }
        slider.newSlides = $(vars.selector, slider);
         
        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
        // VERTICAL:
        if (vertical &amp;&amp; !carousel) {
          slider.container.height((slider.count + slider.cloneCount) * 200 + &quot;%&quot;).css(&quot;position&quot;, &quot;absolute&quot;).width(&quot;100%&quot;);
          setTimeout(function(){
            slider.newSlides.css({&quot;display&quot;: &quot;block&quot;});
            slider.doMath();
            slider.viewport.height(slider.h);
            slider.setProps(sliderOffset * slider.h, &quot;init&quot;);
          }, (type === &quot;init&quot;) ? 100 : 0);
        } else {
          slider.container.width((slider.count + slider.cloneCount) * 200 + &quot;%&quot;);
          slider.setProps(sliderOffset * slider.computedW, &quot;init&quot;);
          setTimeout(function(){
            slider.doMath();
            slider.newSlides.css({&quot;width&quot;: slider.computedW, &quot;float&quot;: &quot;left&quot;, &quot;display&quot;: &quot;block&quot;});
            // SMOOTH HEIGHT:
            if (vars.smoothHeight) methods.smoothHeight();
          }, (type === &quot;init&quot;) ? 100 : 0);
        }
      } else { // FADE:
        slider.slides.css({&quot;width&quot;: &quot;100%&quot;, &quot;float&quot;: &quot;left&quot;, &quot;marginRight&quot;: &quot;-100%&quot;, &quot;position&quot;: &quot;relative&quot;});
        if (type === &quot;init&quot;) {
          if (!touch) {
            slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);
          } else {
            slider.slides.css({ &quot;opacity&quot;: 0, &quot;display&quot;: &quot;block&quot;, &quot;webkitTransition&quot;: &quot;opacity &quot; + vars.animationSpeed / 1000 + &quot;s ease&quot;, &quot;zIndex&quot;: 1 }).eq(slider.currentSlide).css({ &quot;opacity&quot;: 1, &quot;zIndex&quot;: 2});
          }
        }
        // SMOOTH HEIGHT:
        if (vars.smoothHeight) methods.smoothHeight();
      }
      // !CAROUSEL:
      // CANDIDATE: active slide
      if (!carousel) slider.slides.removeClass(namespace + &quot;active-slide&quot;).eq(slider.currentSlide).addClass(namespace + &quot;active-slide&quot;);
    }
     
    slider.doMath = function() {
      var slide = slider.slides.first(),
          slideMargin = vars.itemMargin,
          minItems = vars.minItems,
          maxItems = vars.maxItems;
       
      slider.w = slider.width();
      slider.h = slide.height();
      slider.boxPadding = slide.outerWidth() - slide.width();
 
      // CAROUSEL:
      if (carousel) {
        slider.itemT = vars.itemWidth + slideMargin;
        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
        slider.maxW = (maxItems) ? maxItems * slider.itemT : slider.w;
        slider.itemW = (slider.minW &gt; slider.w) ? (slider.w - (slideMargin * minItems))/minItems :
                       (slider.maxW &lt; slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :
                       (vars.itemWidth &gt; slider.w) ? slider.w : vars.itemWidth;
        slider.visible = Math.floor(slider.w/(slider.itemW + slideMargin));
        slider.move = (vars.move &gt; 0 &amp;&amp; vars.move &lt; slider.visible ) ? vars.move : slider.visible;
        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
        slider.last =  slider.pagingCount - 1;
        slider.limit = (slider.pagingCount === 1) ? 0 :
                       (vars.itemWidth &gt; slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
      } else {
        slider.itemW = slider.w;
        slider.pagingCount = slider.count;
        slider.last = slider.count - 1;
      }
      slider.computedW = slider.itemW - slider.boxPadding;
    }
     
    slider.update = function(pos, action) {
      slider.doMath();
       
      // update currentSlide and slider.animatingTo if necessary
      if (!carousel) {
        if (pos &lt; slider.currentSlide) {
          slider.currentSlide += 1;
        } else if (pos &lt;= slider.currentSlide &amp;&amp; pos !== 0) {
          slider.currentSlide -= 1;
        }
        slider.animatingTo = slider.currentSlide;
      }
       
      // update controlNav
      if (vars.controlNav &amp;&amp; !slider.manualControls) {
        if ((action === &quot;add&quot; &amp;&amp; !carousel) || slider.pagingCount &gt; slider.controlNav.length) {
          methods.controlNav.update(&quot;add&quot;);
        } else if ((action === &quot;remove&quot; &amp;&amp; !carousel) || slider.pagingCount &lt; slider.controlNav.length) {
          if (carousel &amp;&amp; slider.currentSlide &gt; slider.last) {
            slider.currentSlide -= 1;
            slider.animatingTo -= 1;
          }
          methods.controlNav.update(&quot;remove&quot;, slider.last);
        }
      }
      // update directionNav
      if (vars.directionNav) methods.directionNav.update();
       
    }
     
    slider.addSlide = function(obj, pos) {
      var $obj = $(obj);
       
      slider.count += 1;
      slider.last = slider.count - 1;
       
      // append new slide
      if (vertical &amp;&amp; reverse) {
        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
      } else {
        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
      }
       
      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.update(pos, &quot;add&quot;);
       
      // update slider.slides
      slider.slides = $(vars.selector + &#39;:not(.clone)&#39;, slider);
      // re-setup the slider to accomdate new slide
      slider.setup();
       
      //FlexSlider: added() Callback
      vars.added(slider);
    }
    slider.removeSlide = function(obj) {
      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
       
      // update count
      slider.count -= 1;
      slider.last = slider.count - 1;
       
      // remove slide
      if (isNaN(obj)) {
        $(obj, slider.slides).remove();
      } else {
        (vertical &amp;&amp; reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
      }
       
      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.doMath();
      slider.update(pos, &quot;remove&quot;);
       
      // update slider.slides
      slider.slides = $(vars.selector + &#39;:not(.clone)&#39;, slider);
      // re-setup the slider to accomdate new slide
      slider.setup();
       
      // FlexSlider: removed() Callback
      vars.removed(slider);
    }
     
    //FlexSlider: Initialize
    methods.init();
  }
   
  //FlexSlider: Default Settings
  $.flexslider.defaults = {
    namespace: &quot;flex-&quot;,             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
    selector: &quot;.slides &gt; li&quot;,       //{NEW} Selector: Must match a simple pattern. &#39;{container} &gt; {slide}&#39; -- Ignore pattern at your own peril
    animation: &quot;fade&quot;,              //String: Select your animation type, &quot;fade&quot; or &quot;slide&quot;
    easing: &quot;swing&quot;,               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
    direction: &quot;horizontal&quot;,        //String: Select the sliding direction, &quot;horizontal&quot; or &quot;vertical&quot;
    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
    animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received &quot;disable&quot; classes at either end
    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode 
    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
    slideshow: true,                //Boolean: Animate slider automatically
    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
    randomize: false,               //Boolean: Randomize slide order
     
    // Usability features
    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
     
    // Primary Controls
    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
    prevText: &quot;Previous&quot;,           //String: Set the text for the &quot;previous&quot; directionNav item
    nextText: &quot;Next&quot;,               //String: Set the text for the &quot;next&quot; directionNav item
     
    // Secondary Navigation
    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
    pausePlay: false,               //Boolean: Create pause/play dynamic element
    pauseText: &quot;Pause&quot;,             //String: Set the text for the &quot;pause&quot; pausePlay item
    playText: &quot;Play&quot;,               //String: Set the text for the &quot;play&quot; pausePlay item
     
    // Special properties
    controlsContainer: &quot;&quot;,          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(&quot;.flexslider-container&quot;). Property is ignored if given element is not found.
    manualControls: &quot;&quot;,             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(&quot;.flex-control-nav li&quot;) or &quot;#tabs-nav li img&quot;, etc. The number of elements in your controlNav should match the number of slides/tabs.
    sync: &quot;&quot;,                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
    asNavFor: &quot;&quot;,                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
     
    // Carousel Options
    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
    minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
                                     
    // Callback API
    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
    removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
  }
 
 
  //FlexSlider: Plugin Function
  $.fn.flexslider = function(options) {
    if (options === undefined) options = {};
     
    if (typeof options === &quot;object&quot;) {
      return this.each(function() {
        var $this = $(this),
            selector = (options.selector) ? options.selector : &quot;.slides &gt; li&quot;,
            $slides = $this.find(selector);
 
        if ($slides.length === 1) {
          $slides.fadeIn(400);
          if (options.start) options.start($this);
        } else if ($this.data(&#39;flexslider&#39;) === undefined) {
          new $.flexslider(this, options);
        }
      });
    } else {
      // Helper strings to quickly perform functions on the slider
      var $slider = $(this).data(&#39;flexslider&#39;);
      switch (options) {
        case &quot;play&quot;: $slider.play(); break;
        case &quot;pause&quot;: $slider.pause(); break;
        case &quot;next&quot;: $slider.flexAnimate($slider.getTarget(&quot;next&quot;), true); break;
        case &quot;prev&quot;:
        case &quot;previous&quot;: $slider.flexAnimate($slider.getTarget(&quot;prev&quot;), true); break;
        default: if (typeof options === &quot;number&quot;) $slider.flexAnimate(options, true);
      }
    }
  
 
})(jQuery);
</script>
 
  <script charset='utf-8' type='text/javascript'>
  $(window).load(function() {
  $(&#39;.flexslider&#39;).flexslider({
   animation: &quot;fade&quot;,
   animationSpeed: 500,
   smoothHeight: true,
   animationLoop: true,
   touch: true 
   });
  });
  </script>
   
     <script type='text/javascript'>
(function (a) { a.fn.stickyPanel = function (c) { var c = a.extend({}, a.fn.stickyPanel.defaults, c); return this.each(function () { a(window).bind(&quot;scroll.stickyPanel&quot;, { selected: a(this), options: c }, b) }) }; function b(d) { var i = d.data.selected; var g = d.data.options; var l = navigator.userAgent.toLowerCase().indexOf(&quot;mobile&quot;) &gt; 0; var c = a(window).height(); var e = i.outerHeight(true); var h = a(document).scrollTop(); if (!l &amp;&amp; h &lt;= a(document).height() - c &amp;&amp; h &gt; i.offset().top - g.topPadding) { var k = 0; if (g.topPadding != &quot;undefined&quot;) { k = k + g.topPadding } var p = i.offset().left; i.data(&quot;PanelsTop&quot;, i.offset().top - k); if (g.savePanelSpace == true) { var n = i.outerWidth(true); var f = i.css(&quot;float&quot;); var m = i.css(&quot;display&quot;); var j = Math.ceil(Math.random() * 9999); i.data(&quot;PanelSpaceID&quot;, &quot;stickyPanelSpace&quot; + j); i.before(&quot;&lt;div id=&#39;&quot; + i.data(&quot;PanelSpaceID&quot;) + &quot;&#39; style=&#39;width:&quot; + n + &quot;px;height:&quot; + e + &quot;px;float:&quot; + f + &quot;;display:&quot; + m + &quot;;&#39;&gt;&amp;nbsp;&lt;/div&gt;&quot;) } if (g.afterDetachCSSClass != &quot;&quot;) { i.addClass(g.afterDetachCSSClass) } i.data(&quot;Original_Inline_CSS&quot;, (!i.attr(&quot;style&quot;) ? &quot;&quot; : i.attr(&quot;style&quot;))); i.css({ margin: 0, left: p, top: k, position: &quot;fixed&quot; }) } if (h &lt;= i.data(&quot;PanelsTop&quot;) &amp;&amp; i.css(&quot;top&quot;) != &quot;auto&quot;) { if (g.savePanelSpace == true) { a(&quot;#&quot; + i.data(&quot;PanelSpaceID&quot;)).remove() } i.attr(&quot;style&quot;, i.data(&quot;Original_Inline_CSS&quot;)); if (g.afterDetachCSSClass != &quot;&quot;) { i.removeClass(g.afterDetachCSSClass) } } } a.fn.stickyPanel.defaults = { topPadding: 0, afterDetachCSSClass: &quot;&quot;, savePanelSpace: false} })(jQuery);
</script>
 
  <script type='text/javascript'>
         $().ready(function () {
         
             var stickyPanelOptions = {
                 afterDetachCSSClass: &quot;&quot;,
                 savePanelSpace: true
             };
             $(&quot;header&quot;).stickyPanel(stickyPanelOptions);
         });
     </script>
      
  <script>
   $(document).ready(function(){
    $(&quot;.nav-button&quot;).click(function () {
    $(&quot;.nav-button,.menu&quot;).toggleClass(&quot;open&quot;);
    });   
   });
  </script>



Αποθηκεύστε το πρότυπό σας.

Πατήστε διάταξη για να προσθέσετε σαν gadget τον παρακάτω HTML κώδικα:

<div class="box">
<div class="slider-wrapper">
     <div class="flexslider">
      <ul class="slides">
       <li>&ldquo;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&rdquo;<br/>
        &mdash;<br/>
        <span class="client-name">Mara Landi, Senior Associate</span><br/>
        <span class="client">Broaddus &amp; Associates</span>
       </li>
       <li>&ldquo;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&rdquo;<br/>
        &mdash;<br/>
        <span class="client-name">Mike Sparr, CEO/Founder</span><br/>
        <span class="client">Goomzee</span>
       </li>
       <li>&ldquo;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&rdquo;<br/>
        &mdash;<br/>
        <span class="client-name">Hadara Alook, Marketing Manager</span><br/>
        <span class="client">JAJAH, Inc.</span>
       </li>
       <li>&ldquo;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&rdquo;<br/>
        &mdash;<br/>
        <span class="client-name">Rebecca Dealtry, Marketing and Sales Coordinator</span><br/>
        <span class="client">LDM Global</span>
       </li>
       <li>&ldquo;Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Thank you!&rdquo;<br/>
        &mdash;<br/>
        <span class="client-name">Malcolm St. Romain Jr., VP Operations  Finance</span><br/>
        <span class="client">favoritebtemplates.com</span>
       </li>
      </ul>
     </div><!--/flexslider-->
    </div><!--/slider-wrapper-home--></div


Στη θέση του κειμένου

"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make link again with longer anchor text a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with test link the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
 
τοποθετήστε το δικό σας κείμενο.
 

Δημοσίευση σχολίου

0 Σχόλια
* Please Don't Spam Here. All the Comments are Reviewed by Admin.
Δημοσίευση σχολίου (0)

buttons=(Accept !) days=(20)

Αυτός ο ιστότοπος χρησιμοποιεί cookies για καλύτερη φυλλομέτρηση. Δείτε...
Accept !
To Top