Advertisement
Guest User

kinky slider links fix

a guest
Jan 9th, 2012
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 14.60 KB | None | 0 0
  1. <!-- Module KinkySlider -->
  2. <!-- sorry , i've made a terrible error, it's fixed here -->
  3. <!-- next version of Kinky Slider will be free of this error -->
  4.  
  5. <link href="{$base_dir}modules/kinkyslider/css/style.css" rel="stylesheet" type="text/css" media="all" />
  6.  
  7. <style type="text/css">
  8.  
  9.     #bazingaSliderContainer {
  10.  
  11.         border-color:   #{$kinkyslider_config.borderColor};
  12.         border-width:   {$kinkyslider_config.borderWidth}px;
  13.         border-style:   solid;        
  14.         width:          {$kinkyslider_calculated_image_width}px;
  15.         height:         {$kinkyslider_calculated_image_height}px;
  16.         margin-top:     {$kinkyslider_config.marginTop};
  17.         margin-right:   {$kinkyslider_config.marginRight};
  18.         margin-bottom:  {$kinkyslider_config.marginBottom};
  19.         margin-left:    {$kinkyslider_config.marginLeft};
  20.  
  21.     }
  22.  
  23.     ul#bazingaSliderContent li {
  24.  
  25.         width:          {$kinkyslider_calculated_image_width}px;
  26.         height:         {$kinkyslider_calculated_image_height}px;
  27.  
  28.     }
  29.  
  30.     ul#bazingaSliderContent li .bazingaHeader {
  31.  
  32.         background:     #{$kinkyslider_config.headerBackground};
  33.         bottom:         {$kinkyslider_config.headerMarginBottom}px;
  34.         color:          #{$kinkyslider_config.headerFontColor};
  35.         font-family:    {$kinkyslider_config.headerFont};
  36.         font-size:      {$kinkyslider_config.headerFontSize}px;
  37.         left:           {$kinkyslider_config.headerMarginLeft}px;
  38.         line-height:    {$kinkyslider_config.headerLineHeight}px;
  39.         padding-top:    {$kinkyslider_config.headerPaddingTop}px;
  40.         padding-right:  {$kinkyslider_config.headerPaddingRight}px;
  41.         padding-bottom: {$kinkyslider_config.headerPaddingBottom}px;
  42.         padding-left:   {$kinkyslider_config.headerPaddingLeft}px;
  43.         height:         {$kinkyslider_config.headerHeight}px;
  44.     }
  45.  
  46.     ul#bazingaSliderContent li .bazingaHeader a {
  47.  
  48.         color:          #{$kinkyslider_config.headerFontColor};
  49.     }
  50.  
  51.     ul#bazingaSliderContent li .bazingaPrice {
  52.  
  53.         background:     #{$kinkyslider_config.priceBackground};
  54.         color:          #{$kinkyslider_config.priceFontColor};
  55.         font-family:    {$kinkyslider_config.priceFont};
  56.         font-size:      {$kinkyslider_config.priceFontSize}px;
  57.         line-height:    {$kinkyslider_config.priceLineHeight}px;
  58.         padding-top:    {$kinkyslider_config.pricePaddingTop}px;
  59.         padding-right:  {$kinkyslider_config.pricePaddingRight}px;
  60.         padding-bottom: {$kinkyslider_config.pricePaddingBottom}px;
  61.         padding-left:   {$kinkyslider_config.pricePaddingLeft}px;
  62.         height:         {$kinkyslider_config.headerHeight}px;
  63.  
  64.     }
  65.  
  66.     ul#bazingaSliderContent li .bazingaPrice a {
  67.  
  68.         color:          #{$kinkyslider_config.priceFontColor};
  69.     }
  70.  
  71.     #kinkyTurnLeft {
  72.  
  73.         background:     #{$kinkyslider_config.headerBackground};
  74.         color:          #{$kinkyslider_config.headerFontColor};
  75.         left:           {$kinkyslider_config.headerMarginLeft}px;
  76.  
  77.     }
  78.  
  79.     #kinkyTurnRight {
  80.  
  81.         background:     #{$kinkyslider_config.headerBackground};
  82.         color:          #{$kinkyslider_config.headerFontColor};
  83.         right:          {$kinkyslider_config.headerMarginLeft}px;
  84.  
  85.     }
  86.  
  87. </style>
  88.  
  89. <script type="text/javascript" src="{$base_dir}modules/kinkyslider/js/jquery.transform-0.9.3.min.js" charset="utf-8"></script>
  90. <script type="text/javascript" src="{$base_dir}modules/kinkyslider/js/jquery.timers.js" charset="utf-8"></script>
  91. <script type="text/javascript" src="{$base_dir}modules/kinkyslider/js/preloader.js" charset="utf-8"></script>
  92.  
  93. <div id="bazingaSliderContainer">
  94.  
  95.    
  96.     <div id="kinkyTurnLeft" class="turnSpan"><span>«</span></div>
  97.     <div id="kinkyTurnRight" class="turnSpan"><span>»</span></div>
  98.     <div id="kinkyPreloader"></div>
  99.  
  100.     <ul id="bazingaSliderContent" class="bazingaPreloading" >
  101.         {foreach from=$kinkyslider_data key=myId item=kinkyitem}
  102.  
  103.             {if $kinkyitem.image neq ''}
  104.  
  105.                     <li>
  106.                         <a href="{$kinkyitem.link}">
  107.                         <img src="{$base_dir}{$kinkyitem.image}" class="kinkySliderImage" />
  108.                         </a>
  109.                         <div class="makeRelative">
  110.                         {if $kinkyitem.header neq ''}<div class="bazingaHeader"><a href="{$kinkyitem.link}">{$kinkyitem.header}</a></div>{/if}
  111.                         {if $kinkyitem.price neq ''}<div class="bazingaPrice"><a href="{$kinkyitem.link}">{$kinkyitem.price}</a></div>{/if}
  112.                         </div>
  113.                     </li>
  114.  
  115.             {/if}
  116.  
  117.         {/foreach}
  118.     </ul>
  119. </div>
  120.  
  121. {literal}
  122.  
  123. <script type="text/javascript" charset="utf-8">
  124.  
  125.    
  126.     var bazingaSlideDelay={/literal}{$kinkyslider_config.speed}{literal};
  127.     var bazingaSlideHeight={/literal}{$kinkyslider_calculated_image_height}{literal};
  128.     var bazingaHeaderFromBottom={/literal}{$kinkyslider_config.headerMarginBottom}{literal};
  129.     var headerOutSwingSpeed= {/literal}{$kinkyslider_config.headerOutSwingSpeed}{literal};
  130.     var headerRotateSpeed= {/literal}{$kinkyslider_config.headerRotateSpeed}{literal};
  131.     var priceAppearSpeed= {/literal}{$kinkyslider_config.priceAppearSpeed}{literal};
  132.     var priceDisappearSpeed= {/literal}{$kinkyslider_config.priceDisappearSpeed}{literal};
  133.     var slideChangeSpeed= {/literal}{$kinkyslider_config.slideChangeSpeed}{literal};
  134.  
  135.     var ieHackTranslateX={/literal}{$kinkyslider_config.headerMarginLeft}{literal};
  136.     var ieHackTranslateY=-{/literal}{$kinkyslider_config.headerLineHeight+$kinkyslider_config.headerPaddingTop+$kinkyslider_config.headerPaddingBottom+$kinkyslider_config.headerMarginBottom}{literal};
  137.  
  138.     $(window).load(function(){
  139.  
  140.         if(!$.support.htmlSerialize && !$.support.opacity) {
  141.  
  142.            var internetExplorerDetected='Jesus Christ...';
  143.  
  144.         } else {
  145.  
  146.             var internetExplorerDetected='Thankfully not!';
  147.         }
  148.  
  149.         var elementsContainer=$('ul#bazingaSliderContent');
  150.         var allElements=$('ul#bazingaSliderContent li');
  151.         var elementsCount=allElements.size();
  152.         var kinkySliderImages=$('.kinkySliderImage');
  153.         var kinkyContainerWidth=$('#bazingaSliderContainer').width();
  154.         var kinkyContainerHeight=$('#bazingaSliderContainer').height();
  155.  
  156.  
  157.         var kinkyTurnLeft=$('#kinkyTurnLeft');
  158.         var kinkyTurnRight=$('#kinkyTurnRight');
  159.         var kinkyTurnHeight=kinkyTurnLeft.height();
  160.  
  161.         kinkyTurnLeft.css('top',(kinkyContainerHeight/2)-(kinkyTurnHeight/2));
  162.         kinkyTurnRight.css('top',(kinkyContainerHeight/2)-(kinkyTurnHeight/2));
  163.  
  164.         if (elementsCount<2) { kinkyTurnLeft.hide(); kinkyTurnRight.hide();}
  165.  
  166.        // we'll mark the last element spat out of the array as 'active' :
  167.        // this is the first element from the top - the first one that appears
  168.        // to the user
  169.        allElements.eq(elementsCount-1).addClass('kinkyActive');
  170.        var findActiveSlide;
  171.        var nextSlide;
  172.        var currentSlide;
  173.        currentSlide=elementsCount-1;        
  174.        // place the price tags next to the header
  175.        allElements.each(function(){
  176.            selectHeader=$(this).find('.bazingaHeader');
  177.            selectPriceTag=$(this).find('.bazingaPrice');
  178.            selectedPriceTagWidth=selectPriceTag.width();
  179.            selectedHeaderWidth=selectHeader.width();            
  180.            selectedHeaderHeight=selectHeader.height();            
  181.            selectedHeaderLeft=selectHeader.css('left');
  182.            selectedHeaderPaddingLeft=parseInt(selectHeader.css('padding-left'));
  183.            selectedHeaderPaddingRight=parseInt(selectHeader.css('padding-right'));
  184.            selectedHeaderPaddingLeftAndRight=selectedHeaderPaddingRight+selectedHeaderPaddingRight;
  185.                        
  186.            priceTagLeft=parseInt(selectedHeaderWidth)+parseInt(selectedHeaderLeft)+selectedHeaderPaddingLeftAndRight;
  187.            selectPriceTag.css('left',priceTagLeft+'px');
  188.            selectPriceTag.data('originalPosition', bazingaHeaderFromBottom + 80);
  189.            /*$(this).click(function(){
  190.                checkIfURL=selectHeader.find('a').attr('href');
  191.                if (checkIfURL!='') {
  192.                    window.location.href=checkIfURL;
  193.                }
  194.                
  195.            });*/
  196.        });
  197.        function bazingaAnimateTo(container, slides, slideNumber, nextSlide, headerOutSwingSpeed, headerRotateSpeed, priceAppearSpeed, priceDisappearSpeed, slideChangeSpeed) {
  198.          
  199.            slides.eq(nextSlide).css('z-index','105');
  200.            slides.eq(nextSlide).css('translate',['0','0']);
  201.            slides.eq(slideNumber).find('.bazingaHeader').animate({translate:['0','70']}, headerOutSwingSpeed,'easeInOutBack');
  202.            slides.eq(nextSlide).find('.bazingaHeader').css('opacity','1.0');
  203.            slides.eq(nextSlide).find('.bazingaHeader').css('rotate','0deg');
  204.            if (internetExplorerDetected=='Jesus Christ...') {
  205.                slides.eq(nextSlide).find('.bazingaHeader').css('translate',[ieHackTranslateX,ieHackTranslateY]);
  206.            } else {
  207.                slides.eq(nextSlide).find('.bazingaHeader').css('translate',['0','0']);
  208.            }
  209.            slides.eq(nextSlide).find('.bazingaPrice').css('opacity','0.0');
  210.            slides.eq(nextSlide).find('.bazingaPrice').css('bottom',slides.eq(nextSlide).find('.bazingaPrice').data('originalPosition')+'px');
  211.            slides.eq(slideNumber).css('z-index','110');
  212.            slides.eq(nextSlide).show();
  213.            slides.eq(nextSlide).find('.bazingaHeader').show();
  214.            slides.eq(slideNumber).find('.bazingaHeader').animate({opacity:'0.0'},100);
  215.            slides.eq(nextSlide).find('.bazingaHeader').animate({rotate:'+=720deg'}, headerRotateSpeed, function(){
  216.                    slides.eq(nextSlide).find('.bazingaPrice').animate({opacity:'1.0',bottom:'-=80'}, priceAppearSpeed, 'easeInOutBack');
  217.            });
  218.            slides.eq(slideNumber).find('.bazingaPrice').animate({opacity:'0.0'}, priceDisappearSpeed);
  219.            
  220.            slides.eq(slideNumber).animate({translate:['0',-bazingaSlideHeight-(20*bazingaSlideHeight/100)]}, slideChangeSpeed, 'easeInOutBack',function(){
  221.                $(this).hide();
  222.            });
  223.            
  224.        }
  225.              
  226.        kinkyPreloader('preloadKinkySliderImages', kinkySliderImages, 500, function() {
  227.            elementsContainer.hide();
  228.            elementsContainer.removeClass('bazingaPreloading');
  229.            elementsContainer.fadeIn(500);
  230.            /* we set the current element to the first element from the top - last from the 'real' top */            
  231.                        
  232.            allElements.eq(currentSlide).find('.bazingaPrice').css('bottom',allElements.eq(currentSlide).find('.bazingaPrice').data('originalPosition')+'px');
  233.            allElements.eq(currentSlide).find('.bazingaPrice').animate({opacity:'1.0',bottom:'-=80'},1000,'easeInOutBack');
  234.            
  235.            if (elementsCount>1) {
  236.  
  237.  
  238.                 $(document).everyTime(bazingaSlideDelay,'changeSlide',function(){
  239.  
  240.                     if (!allElements.is(':animated')) {
  241.  
  242.                         bazingaFindCurrentAndNextSlide('next');
  243.  
  244.                         bazingaAnimateTo(elementsContainer, allElements, currentSlide, nextSlide, headerOutSwingSpeed, headerRotateSpeed, priceAppearSpeed, priceDisappearSpeed, slideChangeSpeed);
  245.                         oldCurrentSlide=currentSlide;
  246.                         currentSlide--;
  247.                         if (currentSlide<0) { currentSlide=elementsCount-1 }
  248.                        allElements.eq(oldCurrentSlide).removeClass('kinkyActive');
  249.                        allElements.eq(currentSlide).addClass('kinkyActive');
  250.                    }
  251.  
  252.                });
  253.           }
  254.  
  255.        }); /* kinkyPreloader() */
  256.  
  257.        $('#bazingaSliderContainer').mouseout(function(){
  258.  
  259.            kinkyTurnLeft.css('opacity','0.0');
  260.            kinkyTurnRight.css('opacity','0.0');
  261.        })
  262.  
  263.        kinkyTurnLeft.click(function(){
  264.  
  265.            $(document).stopTime('changeSlide');
  266.  
  267.            if (!allElements.is(':animated')) {
  268.  
  269.                bazingaFindCurrentAndNextSlide('previous');
  270.  
  271.                bazingaAnimateTo(elementsContainer, allElements, currentSlide, nextSlide, headerOutSwingSpeed, headerRotateSpeed, priceAppearSpeed, priceDisappearSpeed, slideChangeSpeed);
  272.                oldCurrentSlide=currentSlide;
  273.                currentSlide++;
  274.                if (currentSlide>elementsCount-1) { currentSlide=0 }
  275.                 allElements.eq(oldCurrentSlide).removeClass('kinkyActive');
  276.                 allElements.eq(currentSlide).addClass('kinkyActive');
  277.             }
  278.  
  279.         });
  280.  
  281.  
  282.         kinkyTurnRight.click(function(){
  283.  
  284.              $(document).stopTime('changeSlide');
  285.  
  286.             if (!allElements.is(':animated')) {
  287.            
  288.                 bazingaFindCurrentAndNextSlide('next');
  289.  
  290.                 bazingaAnimateTo(elementsContainer, allElements, currentSlide, nextSlide, headerOutSwingSpeed, headerRotateSpeed, priceAppearSpeed, priceDisappearSpeed, slideChangeSpeed);
  291.                 oldCurrentSlide=currentSlide;
  292.                 currentSlide--;
  293.                 if (currentSlide<0) { currentSlide=elementsCount-1 }
  294.                allElements.eq(oldCurrentSlide).removeClass('kinkyActive');
  295.                allElements.eq(currentSlide).addClass('kinkyActive');
  296.            }
  297.  
  298.        });
  299.  
  300.  
  301.        function bazingaFindCurrentAndNextSlide(direction) {
  302.  
  303.            findActiveSlide=elementsContainer.find('.kinkyActive');
  304.            currentSlide=findActiveSlide.index();
  305.  
  306.            if (direction=='next') {
  307.  
  308.                tryNextSlide=currentSlide-1;
  309.                if (tryNextSlide<0) { nextSlide=elementsCount-1; } else {nextSlide=tryNextSlide;}
  310.            }
  311.  
  312.            if (direction=='previous') {
  313.                tryPreviousSlide=currentSlide+1;
  314.                if (tryPreviousSlide>elementsCount-1) { nextSlide=0 } else {nextSlide=tryPreviousSlide;}
  315.             }
  316.         }
  317.  
  318.         $('#bazingaSliderContainer').mousemove(function(e){
  319.  
  320.             kinkyPositionX=e.clientX-$(this).offset().left;
  321.             kinkyTurnLeftOpacityDelta=kinkyPositionX/(kinkyContainerWidth/2);
  322.             kinkyTurnRightOpacityDelta=(kinkyPositionX-(kinkyContainerWidth/2))/(kinkyContainerWidth/2);
  323.  
  324.                        
  325.             kinkyTurnLeft.css('opacity',1-kinkyTurnLeftOpacityDelta);
  326.             kinkyTurnRight.css('opacity',kinkyTurnRightOpacityDelta);
  327.            
  328.  
  329.         });
  330.       });
  331.  
  332.  
  333. </script>
  334. {/literal}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement