Changeset 75924 in spip-zone


Ignore:
Timestamp:
Sep 17, 2013, 6:49:27 AM (6 years ago)
Author:
cedric@…
Message:

Refactoring :

  • factoriser tous les modeles dans modeles/nivoslider_base pour simplifier la maintenance et les evolutions
  • tous les autres modeles appellent celui-ci avec les bons arguments
  • mise a jour de Nivoslider en version 3.2
  • mise a jour des CSS avec les css natives de Nivoslider 3.2 + personalisation en supplement, en bas de CSS
Location:
_plugins_/nivoslider/trunk
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/nivoslider/trunk/css/nivoslider.css.html

    r70607 r75924  
    33#HTTP_HEADER{Vary: Accept-Encoding}
    44/*
    5  * jQuery Nivo Slider v2.5.2
     5 * jQuery Nivo Slider v3.2
    66 * http://nivo.dev7studios.com
    77 *
    8  * Copyright 2011, Gilbert Pellegrom
     8 * Copyright 2012, Dev7studios
    99 * Free to use and abuse under the MIT license.
    1010 * http://www.opensource.org/licenses/mit-license.php
    11  *
    12  * March 2010
    1311 * <style>
    1412 */
    1513
    16 #slider {
    17         position:relative;
    18         width:#CONFIG{nivoslider/width,500}px;
    19         height:#CONFIG{nivoslider/height,300}px;
    20         margin:0 auto;
    21         background:url(#CHEMIN{css/img/loading.gif}) no-repeat 50% 50%;
    22 }
    23 
    2414/* The Nivo Slider styles */
    25 
    2615.nivoSlider {
    2716        position:relative;
    28 }
    29 
     17        width:100%;
     18        height:auto;
     19        overflow: hidden;
     20}
    3021.nivoSlider img {
    3122        position:absolute;
    3223        top:0px;
    3324        left:0px;
     25        max-width: none;
     26}
     27.nivo-main-image {
     28        display: block !important;
     29        position: relative !important;
     30        width: 100% !important;
    3431}
    3532
    3633/* If an image is wrapped in a link */
    37 
    3834.nivoSlider a.nivo-imageLink {
    3935        position:absolute;
     
    4541        padding:0;
    4642        margin:0;
    47         z-index:60;
     43        z-index:6;
    4844        display:none;
    49 }
    50 
    51 /* The slices in the Slider */
    52 
     45        background:white;
     46        filter:alpha(opacity=0);
     47        opacity:0;
     48}
     49
     50/* The slices and boxes in the Slider */
    5351.nivo-slice {
    5452        display:block;
    5553        position:absolute;
    56         z-index:50;
     54        z-index:5;
    5755        height:100%;
    58 }
    59 
     56        top:0;
     57}
    6058.nivo-box {
    6159        display:block;
    6260        position:absolute;
    63         z-index:50;
    64 }
     61        z-index:5;
     62        overflow:hidden;
     63}
     64.nivo-box img { display:block; }
    6565
    6666/* Caption styles */
    67 
     67/* Caption styles */
    6868.nivo-caption {
    6969        position:absolute;
    7070        left:0px;
    7171        bottom:0px;
    72         background:#CONFIG{nivoslider/captionBackcolor,'#000'};
    73         color:#CONFIG{nivoslider/captionFrontcolor,'#FFF'};
    74         opacity:0.8; /* Overridden by captionOpacity setting */
     72        background:#000;
     73        color:#fff;
    7574        width:100%;
    76         z-index:80;
    77 }
    78 
     75        z-index:8;
     76        padding: 5px 10px;
     77        opacity: 0.8;
     78        overflow: hidden;
     79        display: none;
     80        -moz-opacity: 0.8;
     81        filter:alpha(opacity=8);
     82        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
     83        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
     84        box-sizing: border-box;         /* Opera/IE 8+ */
     85}
    7986.nivo-caption p {
    8087        padding:5px;
    8188        margin:0;
    8289}
    83 
    8490.nivo-caption a {
    8591        display:inline !important;
    8692}
    87 
    8893.nivo-html-caption {
    8994    display:none;
     
    9196
    9297/* Direction nav styles (e.g. Next & Prev) */
    93 
    9498.nivo-directionNav a {
    9599        position:absolute;
    96100        top:45%;
    97         z-index:90;
     101        z-index:9;
    98102        cursor:pointer;
    99103}
    100 
    101104.nivo-prevNav {
    102105        left:0px;
    103106}
    104 
    105107.nivo-nextNav {
    106108        right:0px;
    107109}
    108110
    109 [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})]
    110 
    111111/* Control nav styles (e.g. 1,2,3...) */
     112.nivo-controlNav {
     113        text-align:center;
     114        padding: 15px 0;
     115}
    112116.nivo-controlNav a {
     117        cursor:pointer;
     118}
     119.nivo-controlNav a.active {
     120        font-weight:bold;
     121}
     122
     123
     124/**
     125 * Specific to SPIP plugin
     126 */
     127.nivoSlider-wrap {
     128        position:relative;
     129        margin:0 auto;
     130}
     131.nivo-caption {
     132        background:#CONFIG{nivoslider/captionBackcolor,'#000'};
     133        color:#CONFIG{nivoslider/captionFrontcolor,'#FFF'};
     134}
     135
     136/* Control nav bullet styles (e.g. 1,2,3...) */
     137.nivoSlider-wrap.nav-bullet .nivo-controlNav {
     138        position: absolute;
     139  right:0;
     140  top:0;
     141}
     142
     143.nivoSlider-wrap.nav-bullet .nivo-controlNav a {
    113144        position:relative;
    114145        z-index:99;
    115         cursor:pointer;
    116146        width:22px;
    117147        height:22px;
     
    124154
    125155.nivo-controlNav a.active {
    126         font-weight:bold;
    127         background-position:0 -22px;
     156        font-weight:bold;
     157        background-position:0 -22px;
    128158}
    129159
    130160.nivo-directionNav a {
    131         display:block;
    132         width:30px;
    133         height:30px;
    134         background:url(#CHEMIN{css/img/arrows.png}) no-repeat;
    135         text-indent:-9999px;
    136         border:0;
     161        display:block;
     162        width:30px;
     163        height:30px;
     164        background:url(#CHEMIN{css/img/arrows.png}) no-repeat;
     165        text-indent:-9999px;
     166        border:0;
    137167}
    138168
    139169a.nivo-nextNav {
    140         background-position:-30px 0;
    141         right:15px;
     170        background-position:-30px 0;
     171        right:15px;
    142172}
    143173
    144174a.nivo-prevNav {
    145         left:15px;
     175        left:15px;
    146176}
    147177
    148178.nivo-caption {
    149     text-shadow:none;
    150     font-family: Helvetica, Arial, sans-serif;
    151 }
    152 
    153 [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
    154 
    155 #slider {
    156         margin-bottom:#CONFIG{nivoslider/bottomMargin,0}px;
    157 }
    158 
    159 #slider .nivo-controlNav {
    160         position:absolute;
    161         width:100%;
     179 text-shadow:none;
     180 font-family: Helvetica, Arial, sans-serif;
     181}
     182
     183.nivoSlider-wrap.nav-thumb {
     184        margin-bottom:#CONFIG{nivoslider/bottomMargin,80}px;
     185}
     186
     187.nivoSlider-wrap.nav-thumb .nivo-controlNav {
     188        width: 100%;
    162189        text-align:center;
    163         top:#EVAL{#CONFIG{nivoslider/height,240}+10}px;
    164 }
    165 
    166 #slider .nivo-controlNav a {
     190}
     191
     192.nivoSlider-wrap.nav-thumb .nivo-controlNav a {
    167193        display:inline;
    168194}
    169195
    170 #slider .nivo-controlNav img {
     196.nivoSlider-wrap.nav-thumb .nivo-controlNav img {
    171197        display:inline;
    172198        cursor:pointer;
    173199        position:relative;
    174         margin-right:10px;
     200        margin-left:5px;
     201        margin-right:5px;
    175202        -moz-box-shadow:0px 0px 5px #333;
    176203        -webkit-box-shadow:0px 0px 5px #333;
    177204        box-shadow:0px 0px 5px #333;
    178 }
    179 
    180 #slider .nivo-controlNav a.active img {
     205        max-height: [(#CONFIG{nivoslider/bottomMargin,80}|moins{30})]px;
     206  width:auto;
     207}
     208
     209.nivoSlider-wrap.nav-thumb .nivo-controlNav a.active img {
    181210    border:1px solid #666;
    182211}
    183 
    184 ]
  • _plugins_/nivoslider/trunk/js/jquery.nivo.slider.js

    r48119 r75924  
    11/*
    2  * jQuery Nivo Slider v2.5.2
     2 * jQuery Nivo Slider v3.2
    33 * http://nivo.dev7studios.com
    44 *
    5  * Copyright 2011, Gilbert Pellegrom
     5 * Copyright 2012, Dev7studios
    66 * Free to use and abuse under the MIT license.
    77 * http://www.opensource.org/licenses/mit-license.php
    8  *
    9  * March 2010
    108 */
    119
    1210(function($) {
    13 
    1411    var NivoSlider = function(element, options){
    15                 //Defaults are below
    16                 var settings = $.extend({}, $.fn.nivoSlider.defaults, options);
    17 
    18         //Useful variables. Play carefully.
     12        // Defaults are below
     13        var settings = $.extend({}, $.fn.nivoSlider.defaults, options);
     14
     15        // Useful variables. Play carefully.
    1916        var vars = {
    2017            currentSlide: 0,
    2118            currentImage: '',
    2219            totalSlides: 0,
    23             randAnim: '',
    2420            running: false,
    2521            paused: false,
    26             stop: false
    27         };
    28    
    29         //Get this slider
     22            stop: false,
     23            controlNavEl: false
     24        };
     25
     26        // Get this slider
    3027        var slider = $(element);
    31         slider.data('nivo:vars', vars);
    32         slider.css('position','relative');
    33         slider.addClass('nivoSlider');
    34        
    35         //Find our slider children
     28        slider.data('nivo:vars', vars).addClass('nivoSlider');
     29
     30        // Find our slider children
    3631        var kids = slider.children();
    3732        kids.each(function() {
     
    4540                child = child.find('img:first');
    4641            }
    47             //Get img width & height
    48             var childWidth = child.width();
    49             if(childWidth == 0) childWidth = child.attr('width');
    50             var childHeight = child.height();
    51             if(childHeight == 0) childHeight = child.attr('height');
    52             //Resize the slider
    53             if(childWidth > slider.width()){
    54                 slider.width(childWidth);
    55             }
    56             if(childHeight > slider.height()){
    57                 slider.height(childHeight);
    58             }
    59             if(link != ''){
     42            // Get img width & height
     43            var childWidth = (childWidth === 0) ? child.attr('width') : child.width(),
     44                childHeight = (childHeight === 0) ? child.attr('height') : child.height();
     45
     46            if(link !== ''){
    6047                link.css('display','none');
    6148            }
     
    6350            vars.totalSlides++;
    6451        });
    65        
    66         //Set startSlide
     52         
     53        // If randomStart
     54        if(settings.randomStart){
     55            settings.startSlide = Math.floor(Math.random() * vars.totalSlides);
     56        }
     57       
     58        // Set startSlide
    6759        if(settings.startSlide > 0){
    68             if(settings.startSlide >= vars.totalSlides) settings.startSlide = vars.totalSlides - 1;
     60            if(settings.startSlide >= vars.totalSlides) { settings.startSlide = vars.totalSlides - 1; }
    6961            vars.currentSlide = settings.startSlide;
    7062        }
    7163       
    72         //Get initial image
     64        // Get initial image
    7365        if($(kids[vars.currentSlide]).is('img')){
    7466            vars.currentImage = $(kids[vars.currentSlide]);
     
    7769        }
    7870       
    79         //Show initial link
     71        // Show initial link
    8072        if($(kids[vars.currentSlide]).is('a')){
    8173            $(kids[vars.currentSlide]).css('display','block');
    8274        }
    8375       
    84         //Set first background
    85         slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
     76        // Set first background
     77        var sliderImg = $('<img/>').addClass('nivo-main-image');
     78        sliderImg.attr('src', vars.currentImage.attr('src')).show();
     79        slider.append(sliderImg);
     80
     81        // Detect Window Resize
     82        $(window).resize(function() {
     83            slider.children('img').width(slider.width());
     84            sliderImg.attr('src', vars.currentImage.attr('src'));
     85            sliderImg.stop().height('auto');
     86            $('.nivo-slice').remove();
     87            $('.nivo-box').remove();
     88        });
    8689
    8790        //Create caption
    88         slider.append(
    89             $('<div class="nivo-caption"><p></p></div>').css({ display:'none', opacity:settings.captionOpacity })
    90         );                     
    91                
    92                 // Process caption function
    93                 var processCaption = function(settings){
    94                         var nivoCaption = $('.nivo-caption', slider);
    95                         if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){
    96                                 var title = vars.currentImage.attr('title');
    97                                 if(title.substr(0,1) == '#') title = $(title).html();   
    98 
    99                                 if(nivoCaption.css('display') == 'block'){
    100                                         nivoCaption.find('p').fadeOut(settings.animSpeed, function(){
    101                                                 $(this).html(title);
    102                                                 $(this).fadeIn(settings.animSpeed);
    103                                         });
    104                                 } else {
    105                                         nivoCaption.find('p').html(title);
    106                                 }                                       
    107                                 nivoCaption.fadeIn(settings.animSpeed);
    108                         } else {
    109                                 nivoCaption.fadeOut(settings.animSpeed);
    110                         }
    111                 }
    112                
     91        slider.append($('<div class="nivo-caption"></div>'));
     92       
     93        // Process caption function
     94        var processCaption = function(settings){
     95            var nivoCaption = $('.nivo-caption', slider);
     96            if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){
     97                var title = vars.currentImage.attr('title');
     98                if(title.substr(0,1) == '#') title = $(title).html();   
     99
     100                if(nivoCaption.css('display') == 'block'){
     101                    setTimeout(function(){
     102                        nivoCaption.html(title);
     103                    }, settings.animSpeed);
     104                } else {
     105                    nivoCaption.html(title);
     106                    nivoCaption.stop().fadeIn(settings.animSpeed);
     107                }
     108            } else {
     109                nivoCaption.stop().fadeOut(settings.animSpeed);
     110            }
     111        }
     112       
    113113        //Process initial  caption
    114114        processCaption(settings);
    115115       
    116         //In the words of Super Mario "let's a go!"
     116        // In the words of Super Mario "let's a go!"
    117117        var timer = 0;
    118118        if(!settings.manualAdvance && kids.length > 1){
    119119            timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
    120120        }
    121 
    122         //Add Direction nav
     121       
     122        // Add Direction nav
    123123        if(settings.directionNav){
    124124            slider.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+ settings.prevText +'</a><a class="nivo-nextNav">'+ settings.nextText +'</a></div>');
    125125           
    126             //Hide Direction nav
    127             if(settings.directionNavHide){
    128                 $('.nivo-directionNav', slider).hide();
    129                 slider.hover(function(){
    130                     $('.nivo-directionNav', slider).show();
    131                 }, function(){
    132                     $('.nivo-directionNav', slider).hide();
    133                 });
    134             }
    135            
    136             $('a.nivo-prevNav', slider).live('click', function(){
    137                 if(vars.running) return false;
     126            $(slider).on('click', 'a.nivo-prevNav', function(){
     127                if(vars.running) { return false; }
    138128                clearInterval(timer);
    139129                timer = '';
     
    142132            });
    143133           
    144             $('a.nivo-nextNav', slider).live('click', function(){
    145                 if(vars.running) return false;
     134            $(slider).on('click', 'a.nivo-nextNav', function(){
     135                if(vars.running) { return false; }
    146136                clearInterval(timer);
    147137                timer = '';
     
    150140        }
    151141       
    152         //Add Control nav
     142        // Add Control nav
    153143        if(settings.controlNav){
    154             var nivoControl = $('<div class="nivo-controlNav"></div>');
    155             slider.append(nivoControl);
     144            vars.controlNavEl = $('<div class="nivo-controlNav"></div>');
     145            slider.after(vars.controlNavEl);
    156146            for(var i = 0; i < kids.length; i++){
    157147                if(settings.controlNavThumbs){
     148                    vars.controlNavEl.addClass('nivo-thumbs-enabled');
    158149                    var child = kids.eq(i);
    159150                    if(!child.is('img')){
    160151                        child = child.find('img:first');
    161152                    }
    162                     if (settings.controlNavThumbsFromRel) {
    163                         nivoControl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('rel') + '" alt="" /></a>');
    164                     } else {
    165                         nivoControl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('src').replace(settings.controlNavThumbsSearch, settings.controlNavThumbsReplace) +'" alt="" /></a>');
    166                     }
     153                    if(child.attr('data-thumb')) vars.controlNavEl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('data-thumb') +'" alt="" /></a>');
    167154                } else {
    168                     nivoControl.append('<a class="nivo-control" rel="'+ i +'">'+ (i + 1) +'</a>');
    169                 }
    170                
    171             }
     155                    vars.controlNavEl.append('<a class="nivo-control" rel="'+ i +'">'+ (i + 1) +'</a>');
     156                }
     157            }
     158
    172159            //Set initial active link
    173             $('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass('active');
    174            
    175             $('.nivo-controlNav a', slider).live('click', function(){
     160            $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');
     161           
     162            $('a', vars.controlNavEl).bind('click', function(){
    176163                if(vars.running) return false;
    177164                if($(this).hasClass('active')) return false;
    178165                clearInterval(timer);
    179166                timer = '';
    180                 slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
     167                sliderImg.attr('src', vars.currentImage.attr('src'));
    181168                vars.currentSlide = $(this).attr('rel') - 1;
    182169                nivoRun(slider, kids, settings, 'control');
    183             });
    184         }
    185        
    186         //Keyboard Navigation
    187         if(settings.keyboardNav){
    188             $(window).keypress(function(event){
    189                 //Left
    190                 if(event.keyCode == '37'){
    191                     if(vars.running) return false;
    192                     clearInterval(timer);
    193                     timer = '';
    194                     vars.currentSlide-=2;
    195                     nivoRun(slider, kids, settings, 'prev');
    196                 }
    197                 //Right
    198                 if(event.keyCode == '39'){
    199                     if(vars.running) return false;
    200                     clearInterval(timer);
    201                     timer = '';
    202                     nivoRun(slider, kids, settings, 'next');
    203                 }
    204170            });
    205171        }
     
    213179            }, function(){
    214180                vars.paused = false;
    215                 //Restart the timer
    216                 if(timer == '' && !settings.manualAdvance){
     181                // Restart the timer
     182                if(timer === '' && !settings.manualAdvance){
    217183                    timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
    218184                }
     
    220186        }
    221187       
    222         //Event when Animation finishes
    223         slider.bind('nivo:animFinished', function(){
     188        // Event when Animation finishes
     189        slider.bind('nivo:animFinished', function(){
     190            sliderImg.attr('src', vars.currentImage.attr('src'));
    224191            vars.running = false;
    225             //Hide child links
     192            // Hide child links
    226193            $(kids).each(function(){
    227194                if($(this).is('a')){
    228                     $(this).css('display','none');
     195                   $(this).css('display','none');
    229196                }
    230197            });
    231             //Show current link
     198            // Show current link
    232199            if($(kids[vars.currentSlide]).is('a')){
    233200                $(kids[vars.currentSlide]).css('display','block');
    234201            }
    235             //Restart the timer
    236             if(timer == '' && !vars.paused && !settings.manualAdvance){
     202            // Restart the timer
     203            if(timer === '' && !vars.paused && !settings.manualAdvance){
    237204                timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
    238205            }
    239             //Trigger the afterChange callback
     206            // Trigger the afterChange callback
    240207            settings.afterChange.call(this);
    241         });
     208        }); 
    242209       
    243210        // Add slices for slice animations
    244         var createSlices = function(slider, settings, vars){
     211        var createSlices = function(slider, settings, vars) {
     212                if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
     213            $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
     214            var sliceHeight = ($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().is('a')) ? $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().height() : $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height();
     215
    245216            for(var i = 0; i < settings.slices; i++){
    246                                 var sliceWidth = Math.round(slider.width()/settings.slices);
    247                                 if(i == settings.slices-1){
    248                                         slider.append(
    249                                                 $('<div class="nivo-slice"></div>').css({
    250                                                         left:(sliceWidth*i)+'px', width:(slider.width()-(sliceWidth*i))+'px',
    251                                                         height:'0px',
    252                                                         opacity:'0',
    253                                                         background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px 0%'
    254                                                 })
    255                                         );
    256                                 } else {
    257                                         slider.append(
    258                                                 $('<div class="nivo-slice"></div>').css({
    259                                                         left:(sliceWidth*i)+'px', width:sliceWidth+'px',
    260                                                         height:'0px',
    261                                                         opacity:'0',
    262                                                         background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px 0%'
    263                                                 })
    264                                         );
    265                                 }
    266                         }
    267         }
    268                
    269                 // Add boxes for box animations
    270                 var createBoxes = function(slider, settings, vars){
    271                         var boxWidth = Math.round(slider.width()/settings.boxCols);
    272                         var boxHeight = Math.round(slider.height()/settings.boxRows);
    273                        
    274                         for(var rows = 0; rows < settings.boxRows; rows++){
    275                                 for(var cols = 0; cols < settings.boxCols; cols++){
    276                                         if(cols == settings.boxCols-1){
    277                                                 slider.append(
    278                                                         $('<div class="nivo-box"></div>').css({
    279                                                                 opacity:0,
    280                                                                 left:(boxWidth*cols)+'px',
    281                                                                 top:(boxHeight*rows)+'px',
    282                                                                 width:(slider.width()-(boxWidth*cols))+'px',
    283                                                                 height:boxHeight+'px',
    284                                                                 background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((boxWidth + (cols * boxWidth)) - boxWidth) +'px -'+ ((boxHeight + (rows * boxHeight)) - boxHeight) +'px'
    285                                                         })
    286                                                 );
    287                                         } else {
    288                                                 slider.append(
    289                                                         $('<div class="nivo-box"></div>').css({
    290                                                                 opacity:0,
    291                                                                 left:(boxWidth*cols)+'px',
    292                                                                 top:(boxHeight*rows)+'px',
    293                                                                 width:boxWidth+'px',
    294                                                                 height:boxHeight+'px',
    295                                                                 background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((boxWidth + (cols * boxWidth)) - boxWidth) +'px -'+ ((boxHeight + (rows * boxHeight)) - boxHeight) +'px'
    296                                                         })
    297                                                 );
    298                                         }
    299                                 }
    300                         }
    301                 }
     217                var sliceWidth = Math.round(slider.width()/settings.slices);
     218               
     219                if(i === settings.slices-1){
     220                    slider.append(
     221                        $('<div class="nivo-slice" name="'+i+'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;" /></div>').css({
     222                            left:(sliceWidth*i)+'px',
     223                            width:(slider.width()-(sliceWidth*i))+'px',
     224                            height:sliceHeight+'px',
     225                            opacity:'0',
     226                            overflow:'hidden'
     227                        })
     228                    );
     229                } else {
     230                    slider.append(
     231                        $('<div class="nivo-slice" name="'+i+'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;" /></div>').css({
     232                            left:(sliceWidth*i)+'px',
     233                            width:sliceWidth+'px',
     234                            height:sliceHeight+'px',
     235                            opacity:'0',
     236                            overflow:'hidden'
     237                        })
     238                    );
     239                }
     240            }
     241           
     242            $('.nivo-slice', slider).height(sliceHeight);
     243            sliderImg.stop().animate({
     244                height: $(vars.currentImage).height()
     245            }, settings.animSpeed);
     246        };
     247       
     248        // Add boxes for box animations
     249        var createBoxes = function(slider, settings, vars){
     250                if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
     251            $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
     252            var boxWidth = Math.round(slider.width()/settings.boxCols),
     253                boxHeight = Math.round($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height() / settings.boxRows);
     254           
     255                       
     256            for(var rows = 0; rows < settings.boxRows; rows++){
     257                for(var cols = 0; cols < settings.boxCols; cols++){
     258                    if(cols === settings.boxCols-1){
     259                        slider.append(
     260                            $('<div class="nivo-box" name="'+ cols +'" rel="'+ rows +'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;" /></div>').css({
     261                                opacity:0,
     262                                left:(boxWidth*cols)+'px',
     263                                top:(boxHeight*rows)+'px',
     264                                width:(slider.width()-(boxWidth*cols))+'px'
     265                               
     266                            })
     267                        );
     268                        $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px');
     269                    } else {
     270                        slider.append(
     271                            $('<div class="nivo-box" name="'+ cols +'" rel="'+ rows +'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;" /></div>').css({
     272                                opacity:0,
     273                                left:(boxWidth*cols)+'px',
     274                                top:(boxHeight*rows)+'px',
     275                                width:boxWidth+'px'
     276                            })
     277                        );
     278                        $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px');
     279                    }
     280                }
     281            }
     282           
     283            sliderImg.stop().animate({
     284                height: $(vars.currentImage).height()
     285            }, settings.animSpeed);
     286        };
    302287
    303288        // Private run method
    304                 var nivoRun = function(slider, kids, settings, nudge){
    305                         //Get our vars
    306                         var vars = slider.data('nivo:vars');
    307            
    308             //Trigger the lastSlide callback
    309             if(vars && (vars.currentSlide == vars.totalSlides - 1)){
    310                                 settings.lastSlide.call(this);
    311                         }
     289        var nivoRun = function(slider, kids, settings, nudge){         
     290            // Get our vars
     291            var vars = slider.data('nivo:vars');
     292           
     293            // Trigger the lastSlide callback
     294            if(vars && (vars.currentSlide === vars.totalSlides - 1)){
     295                settings.lastSlide.call(this);
     296            }
    312297           
    313298            // Stop
    314                         if((!vars || vars.stop) && !nudge) return false;
    315                        
    316                         //Trigger the beforeChange callback
    317                         settings.beforeChange.call(this);
    318                                        
    319                         //Set current background before change
    320                         if(!nudge){
    321                                 slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
    322                         } else {
    323                                 if(nudge == 'prev'){
    324                                         slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
    325                                 }
    326                                 if(nudge == 'next'){
    327                                         slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
    328                                 }
    329                         }
    330                         vars.currentSlide++;
    331             //Trigger the slideshowEnd callback
    332                         if(vars.currentSlide == vars.totalSlides){
    333                                 vars.currentSlide = 0;
    334                                 settings.slideshowEnd.call(this);
    335                         }
    336                         if(vars.currentSlide < 0) vars.currentSlide = (vars.totalSlides - 1);
    337                         //Set vars.currentImage
    338                         if($(kids[vars.currentSlide]).is('img')){
    339                                 vars.currentImage = $(kids[vars.currentSlide]);
    340                         } else {
    341                                 vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
    342                         }
    343                        
    344                         //Set active links
    345                         if(settings.controlNav){
    346                                 $('.nivo-controlNav a', slider).removeClass('active');
    347                                 $('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass('active');
    348                         }
    349                        
    350                         //Process caption
    351                         processCaption(settings);
    352                        
    353                         // Remove any slices from last transition
    354                         $('.nivo-slice', slider).remove();
    355                        
    356                         // Remove any boxes from last transition
    357                         $('.nivo-box', slider).remove();
    358                        
    359                         if(settings.effect == 'random'){
    360                                 var anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',
     299            if((!vars || vars.stop) && !nudge) { return false; }
     300           
     301            // Trigger the beforeChange callback
     302            settings.beforeChange.call(this);
     303
     304            // Set current background before change
     305            if(!nudge){
     306                sliderImg.attr('src', vars.currentImage.attr('src'));
     307            } else {
     308                if(nudge === 'prev'){
     309                    sliderImg.attr('src', vars.currentImage.attr('src'));
     310                }
     311                if(nudge === 'next'){
     312                    sliderImg.attr('src', vars.currentImage.attr('src'));
     313                }
     314            }
     315           
     316            vars.currentSlide++;
     317            // Trigger the slideshowEnd callback
     318            if(vars.currentSlide === vars.totalSlides){
     319                vars.currentSlide = 0;
     320                settings.slideshowEnd.call(this);
     321            }
     322            if(vars.currentSlide < 0) { vars.currentSlide = (vars.totalSlides - 1); }
     323            // Set vars.currentImage
     324            if($(kids[vars.currentSlide]).is('img')){
     325                vars.currentImage = $(kids[vars.currentSlide]);
     326            } else {
     327                vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
     328            }
     329           
     330            // Set active links
     331            if(settings.controlNav){
     332                $('a', vars.controlNavEl).removeClass('active');
     333                $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');
     334            }
     335           
     336            // Process caption
     337            processCaption(settings);           
     338           
     339            // Remove any slices from last transition
     340            $('.nivo-slice', slider).remove();
     341           
     342            // Remove any boxes from last transition
     343            $('.nivo-box', slider).remove();
     344           
     345            var currentEffect = settings.effect,
     346                anims = '';
     347               
     348            // Generate random effect
     349            if(settings.effect === 'random'){
     350                anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',
    361351                'boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');
    362                                 vars.randAnim = anims[Math.floor(Math.random()*(anims.length + 1))];
    363                                 if(vars.randAnim == undefined) vars.randAnim = 'fade';
    364                         }
    365            
    366             //Run random effect from specified set (eg: effect:'fold,fade')
    367             if(settings.effect.indexOf(',') != -1){
    368                 var anims = settings.effect.split(',');
    369                 vars.randAnim = anims[Math.floor(Math.random()*(anims.length))];
    370                                 if(vars.randAnim == undefined) vars.randAnim = 'fade';
    371             }
    372                
    373                         //Run effects
    374                         vars.running = true;
    375                         if(settings.effect == 'sliceDown' || settings.effect == 'sliceDownRight' || vars.randAnim == 'sliceDownRight' ||
    376                                 settings.effect == 'sliceDownLeft' || vars.randAnim == 'sliceDownLeft'){
    377                                 createSlices(slider, settings, vars);
    378                                 var timeBuff = 0;
    379                                 var i = 0;
    380                                 var slices = $('.nivo-slice', slider);
    381                                 if(settings.effect == 'sliceDownLeft' || vars.randAnim == 'sliceDownLeft') slices = $('.nivo-slice', slider)._reverse();
    382                                
    383                                 slices.each(function(){
    384                                         var slice = $(this);
    385                                         slice.css({ 'top': '0px' });
    386                                         if(i == settings.slices-1){
    387                                                 setTimeout(function(){
    388                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
    389                                                 }, (100 + timeBuff));
    390                                         } else {
    391                                                 setTimeout(function(){
    392                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
    393                                                 }, (100 + timeBuff));
    394                                         }
    395                                         timeBuff += 50;
    396                                         i++;
    397                                 });
    398                         }
    399                         else if(settings.effect == 'sliceUp' || settings.effect == 'sliceUpRight' || vars.randAnim == 'sliceUpRight' ||
    400                                         settings.effect == 'sliceUpLeft' || vars.randAnim == 'sliceUpLeft'){
    401                                 createSlices(slider, settings, vars);
    402                                 var timeBuff = 0;
    403                                 var i = 0;
    404                                 var slices = $('.nivo-slice', slider);
    405                                 if(settings.effect == 'sliceUpLeft' || vars.randAnim == 'sliceUpLeft') slices = $('.nivo-slice', slider)._reverse();
    406                                
    407                                 slices.each(function(){
    408                                         var slice = $(this);
    409                                         slice.css({ 'bottom': '0px' });
    410                                         if(i == settings.slices-1){
    411                                                 setTimeout(function(){
    412                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
    413                                                 }, (100 + timeBuff));
    414                                         } else {
    415                                                 setTimeout(function(){
    416                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
    417                                                 }, (100 + timeBuff));
    418                                         }
    419                                         timeBuff += 50;
    420                                         i++;
    421                                 });
    422                         }
    423                         else if(settings.effect == 'sliceUpDown' || settings.effect == 'sliceUpDownRight' || vars.randAnim == 'sliceUpDown' ||
    424                                         settings.effect == 'sliceUpDownLeft' || vars.randAnim == 'sliceUpDownLeft'){
    425                                 createSlices(slider, settings, vars);
    426                                 var timeBuff = 0;
    427                                 var i = 0;
    428                                 var v = 0;
    429                                 var slices = $('.nivo-slice', slider);
    430                                 if(settings.effect == 'sliceUpDownLeft' || vars.randAnim == 'sliceUpDownLeft') slices = $('.nivo-slice', slider)._reverse();
    431                                
    432                                 slices.each(function(){
    433                                         var slice = $(this);
    434                                         if(i == 0){
    435                                                 slice.css('top','0px');
    436                                                 i++;
    437                                         } else {
    438                                                 slice.css('bottom','0px');
    439                                                 i = 0;
    440                                         }
    441                                        
    442                                         if(v == settings.slices-1){
    443                                                 setTimeout(function(){
    444                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
    445                                                 }, (100 + timeBuff));
    446                                         } else {
    447                                                 setTimeout(function(){
    448                                                         slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
    449                                                 }, (100 + timeBuff));
    450                                         }
    451                                         timeBuff += 50;
    452                                         v++;
    453                                 });
    454                         }
    455                         else if(settings.effect == 'fold' || vars.randAnim == 'fold'){
    456                                 createSlices(slider, settings, vars);
    457                                 var timeBuff = 0;
    458                                 var i = 0;
    459                                
    460                                 $('.nivo-slice', slider).each(function(){
    461                                         var slice = $(this);
    462                                         var origWidth = slice.width();
    463                                         slice.css({ top:'0px', height:'100%', width:'0px' });
    464                                         if(i == settings.slices-1){
    465                                                 setTimeout(function(){
    466                                                         slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
    467                                                 }, (100 + timeBuff));
    468                                         } else {
    469                                                 setTimeout(function(){
    470                                                         slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed);
    471                                                 }, (100 + timeBuff));
    472                                         }
    473                                         timeBuff += 50;
    474                                         i++;
    475                                 });
    476                         } 
    477                         else if(settings.effect == 'fade' || vars.randAnim == 'fade'){
    478                                 createSlices(slider, settings, vars);
    479                                
    480                                 var firstSlice = $('.nivo-slice:first', slider);
     352                currentEffect = anims[Math.floor(Math.random()*(anims.length + 1))];
     353                if(currentEffect === undefined) { currentEffect = 'fade'; }
     354            }
     355           
     356            // Run random effect from specified set (eg: effect:'fold,fade')
     357            if(settings.effect.indexOf(',') !== -1){
     358                anims = settings.effect.split(',');
     359                currentEffect = anims[Math.floor(Math.random()*(anims.length))];
     360                if(currentEffect === undefined) { currentEffect = 'fade'; }
     361            }
     362           
     363            // Custom transition as defined by "data-transition" attribute
     364            if(vars.currentImage.attr('data-transition')){
     365                currentEffect = vars.currentImage.attr('data-transition');
     366            }
     367       
     368            // Run effects
     369            vars.running = true;
     370            var timeBuff = 0,
     371                i = 0,
     372                slices = '',
     373                firstSlice = '',
     374                totalBoxes = '',
     375                boxes = '';
     376           
     377            if(currentEffect === 'sliceDown' || currentEffect === 'sliceDownRight' || currentEffect === 'sliceDownLeft'){
     378                createSlices(slider, settings, vars);
     379                timeBuff = 0;
     380                i = 0;
     381                slices = $('.nivo-slice', slider);
     382                if(currentEffect === 'sliceDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
     383               
     384                slices.each(function(){
     385                    var slice = $(this);
     386                    slice.css({ 'top': '0px' });
     387                    if(i === settings.slices-1){
     388                        setTimeout(function(){
     389                            slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
     390                        }, (100 + timeBuff));
     391                    } else {
     392                        setTimeout(function(){
     393                            slice.animate({opacity:'1.0' }, settings.animSpeed);
     394                        }, (100 + timeBuff));
     395                    }
     396                    timeBuff += 50;
     397                    i++;
     398                });
     399            } else if(currentEffect === 'sliceUp' || currentEffect === 'sliceUpRight' || currentEffect === 'sliceUpLeft'){
     400                createSlices(slider, settings, vars);
     401                timeBuff = 0;
     402                i = 0;
     403                slices = $('.nivo-slice', slider);
     404                if(currentEffect === 'sliceUpLeft') { slices = $('.nivo-slice', slider)._reverse(); }
     405               
     406                slices.each(function(){
     407                    var slice = $(this);
     408                    slice.css({ 'bottom': '0px' });
     409                    if(i === settings.slices-1){
     410                        setTimeout(function(){
     411                            slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
     412                        }, (100 + timeBuff));
     413                    } else {
     414                        setTimeout(function(){
     415                            slice.animate({opacity:'1.0' }, settings.animSpeed);
     416                        }, (100 + timeBuff));
     417                    }
     418                    timeBuff += 50;
     419                    i++;
     420                });
     421            } else if(currentEffect === 'sliceUpDown' || currentEffect === 'sliceUpDownRight' || currentEffect === 'sliceUpDownLeft'){
     422                createSlices(slider, settings, vars);
     423                timeBuff = 0;
     424                i = 0;
     425                var v = 0;
     426                slices = $('.nivo-slice', slider);
     427                if(currentEffect === 'sliceUpDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
     428               
     429                slices.each(function(){
     430                    var slice = $(this);
     431                    if(i === 0){
     432                        slice.css('top','0px');
     433                        i++;
     434                    } else {
     435                        slice.css('bottom','0px');
     436                        i = 0;
     437                    }
     438                   
     439                    if(v === settings.slices-1){
     440                        setTimeout(function(){
     441                            slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
     442                        }, (100 + timeBuff));
     443                    } else {
     444                        setTimeout(function(){
     445                            slice.animate({opacity:'1.0' }, settings.animSpeed);
     446                        }, (100 + timeBuff));
     447                    }
     448                    timeBuff += 50;
     449                    v++;
     450                });
     451            } else if(currentEffect === 'fold'){
     452                createSlices(slider, settings, vars);
     453                timeBuff = 0;
     454                i = 0;
     455               
     456                $('.nivo-slice', slider).each(function(){
     457                    var slice = $(this);
     458                    var origWidth = slice.width();
     459                    slice.css({ top:'0px', width:'0px' });
     460                    if(i === settings.slices-1){
     461                        setTimeout(function(){
     462                            slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
     463                        }, (100 + timeBuff));
     464                    } else {
     465                        setTimeout(function(){
     466                            slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed);
     467                        }, (100 + timeBuff));
     468                    }
     469                    timeBuff += 50;
     470                    i++;
     471                });
     472            } else if(currentEffect === 'fade'){
     473                createSlices(slider, settings, vars);
     474               
     475                firstSlice = $('.nivo-slice:first', slider);
    481476                firstSlice.css({
    482                     'height': '100%',
    483477                    'width': slider.width() + 'px'
    484478                });
    485479   
    486                                 firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
    487                         }         
    488             else if(settings.effect == 'slideInRight' || vars.randAnim == 'slideInRight'){
    489                                 createSlices(slider, settings, vars);
    490                                
    491                 var firstSlice = $('.nivo-slice:first', slider);
     480                firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
     481            } else if(currentEffect === 'slideInRight'){
     482                createSlices(slider, settings, vars);
     483               
     484                firstSlice = $('.nivo-slice:first', slider);
    492485                firstSlice.css({
    493                     'height': '100%',
    494486                    'width': '0px',
    495487                    'opacity': '1'
     
    497489
    498490                firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
    499             }
    500             else if(settings.effect == 'slideInLeft' || vars.randAnim == 'slideInLeft'){
    501                                 createSlices(slider, settings, vars);
    502                                
    503                 var firstSlice = $('.nivo-slice:first', slider);
     491            } else if(currentEffect === 'slideInLeft'){
     492                createSlices(slider, settings, vars);
     493               
     494                firstSlice = $('.nivo-slice:first', slider);
    504495                firstSlice.css({
    505                     'height': '100%',
    506496                    'width': '0px',
    507497                    'opacity': '1',
     
    518508                    slider.trigger('nivo:animFinished');
    519509                });
    520             }
    521                         else if(settings.effect == 'boxRandom' || vars.randAnim == 'boxRandom'){
    522                                 createBoxes(slider, settings, vars);
    523                                
    524                                 var totalBoxes = settings.boxCols * settings.boxRows;
    525                                 var i = 0;
    526                                 var timeBuff = 0;
    527                                
    528                                 var boxes = shuffle($('.nivo-box', slider));
    529                                 boxes.each(function(){
    530                                         var box = $(this);
    531                                         if(i == totalBoxes-1){
    532                                                 setTimeout(function(){
    533                                                         box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
    534                                                 }, (100 + timeBuff));
    535                                         } else {
    536                                                 setTimeout(function(){
    537                                                         box.animate({ opacity:'1' }, settings.animSpeed);
    538                                                 }, (100 + timeBuff));
    539                                         }
    540                                         timeBuff += 20;
    541                                         i++;
    542                                 });
    543                         }
    544                         else if(settings.effect == 'boxRain' || vars.randAnim == 'boxRain' || settings.effect == 'boxRainReverse' || vars.randAnim == 'boxRainReverse' ||
    545                     settings.effect == 'boxRainGrow' || vars.randAnim == 'boxRainGrow' || settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
    546                                 createBoxes(slider, settings, vars);
    547                                
    548                                 var totalBoxes = settings.boxCols * settings.boxRows;
    549                                 var i = 0;
    550                                 var timeBuff = 0;
    551                                
    552                                 // Split boxes into 2D array
    553                                 var rowIndex = 0;
    554                                 var colIndex = 0;
    555                                 var box2Darr = new Array();
    556                                 box2Darr[rowIndex] = new Array();
    557                                 var boxes = $('.nivo-box', slider);
    558                                 if(settings.effect == 'boxRainReverse' || vars.randAnim == 'boxRainReverse' ||
    559                    settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
    560                                         boxes = $('.nivo-box', slider)._reverse();
    561                                 }
    562                                 boxes.each(function(){
    563                                         box2Darr[rowIndex][colIndex] = $(this);
    564                                         colIndex++;
    565                                         if(colIndex == settings.boxCols){
    566                                                 rowIndex++;
    567                                                 colIndex = 0;
    568                                                 box2Darr[rowIndex] = new Array();
    569                                         }
    570                                 });
    571                                
    572                                 // Run animation
    573                                 for(var cols = 0; cols < (settings.boxCols * 2); cols++){
    574                                         var prevCol = cols;
    575                                         for(var rows = 0; rows < settings.boxRows; rows++){
    576                                                 if(prevCol >= 0 && prevCol < settings.boxCols){
    577                                                         /* Due to some weird JS bug with loop vars
    578                                                         being used in setTimeout, this is wrapped
    579                                                         with an anonymous function call */
    580                                                         (function(row, col, time, i, totalBoxes) {
    581                                                                 var box = $(box2Darr[row][col]);
     510            } else if(currentEffect === 'boxRandom'){
     511                createBoxes(slider, settings, vars);
     512               
     513                totalBoxes = settings.boxCols * settings.boxRows;
     514                i = 0;
     515                timeBuff = 0;
     516
     517                boxes = shuffle($('.nivo-box', slider));
     518                boxes.each(function(){
     519                    var box = $(this);
     520                    if(i === totalBoxes-1){
     521                        setTimeout(function(){
     522                            box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
     523                        }, (100 + timeBuff));
     524                    } else {
     525                        setTimeout(function(){
     526                            box.animate({ opacity:'1' }, settings.animSpeed);
     527                        }, (100 + timeBuff));
     528                    }
     529                    timeBuff += 20;
     530                    i++;
     531                });
     532            } else if(currentEffect === 'boxRain' || currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){
     533                createBoxes(slider, settings, vars);
     534               
     535                totalBoxes = settings.boxCols * settings.boxRows;
     536                i = 0;
     537                timeBuff = 0;
     538               
     539                // Split boxes into 2D array
     540                var rowIndex = 0;
     541                var colIndex = 0;
     542                var box2Darr = [];
     543                box2Darr[rowIndex] = [];
     544                boxes = $('.nivo-box', slider);
     545                if(currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrowReverse'){
     546                    boxes = $('.nivo-box', slider)._reverse();
     547                }
     548                boxes.each(function(){
     549                    box2Darr[rowIndex][colIndex] = $(this);
     550                    colIndex++;
     551                    if(colIndex === settings.boxCols){
     552                        rowIndex++;
     553                        colIndex = 0;
     554                        box2Darr[rowIndex] = [];
     555                    }
     556                });
     557               
     558                // Run animation
     559                for(var cols = 0; cols < (settings.boxCols * 2); cols++){
     560                    var prevCol = cols;
     561                    for(var rows = 0; rows < settings.boxRows; rows++){
     562                        if(prevCol >= 0 && prevCol < settings.boxCols){
     563                            /* Due to some weird JS bug with loop vars
     564                            being used in setTimeout, this is wrapped
     565                            with an anonymous function call */
     566                            (function(row, col, time, i, totalBoxes) {
     567                                var box = $(box2Darr[row][col]);
    582568                                var w = box.width();
    583569                                var h = box.height();
    584                                 if(settings.effect == 'boxRainGrow' || vars.randAnim == 'boxRainGrow' ||
    585                                    settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
     570                                if(currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){
    586571                                    box.width(0).height(0);
    587572                                }
    588                                                                 if(i == totalBoxes-1){
    589                                                                         setTimeout(function(){
    590                                                                                 box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); });
    591                                                                         }, (100 + time));
    592                                                                 } else {
    593                                                                         setTimeout(function(){
    594                                                                                 box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3);
    595                                                                         }, (100 + time));
    596                                                                 }
    597                                                         })(rows, prevCol, timeBuff, i, totalBoxes);
    598                                                         i++;
    599                                                 }
    600                                                 prevCol--;
    601                                         }
    602                                         timeBuff += 100;
    603                                 }
    604                         }
    605                 }
    606                
    607                 // Shuffle an array
    608                 var shuffle = function(arr){
    609                         for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
    610                         return arr;
    611                 }
     573                                if(i === totalBoxes-1){
     574                                    setTimeout(function(){
     575                                        box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); });
     576                                    }, (100 + time));
     577                                } else {
     578                                    setTimeout(function(){
     579                                        box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3);
     580                                    }, (100 + time));
     581                                }
     582                            })(rows, prevCol, timeBuff, i, totalBoxes);
     583                            i++;
     584                        }
     585                        prevCol--;
     586                    }
     587                    timeBuff += 100;
     588                }
     589            }           
     590        };
     591       
     592        // Shuffle an array
     593        var shuffle = function(arr){
     594            for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x);
     595            return arr;
     596        };
    612597       
    613598        // For debugging
    614599        var trace = function(msg){
    615             if (this.console && typeof console.log != "undefined")
    616                 console.log(msg);
    617         }
     600            if(this.console && typeof console.log !== 'undefined') { console.log(msg); }
     601        };
    618602       
    619603        // Start / Stop
     
    623607                trace('Stop Slider');
    624608            }
    625         }
     609        };
    626610       
    627611        this.start = function(){
     
    630614                trace('Start Slider');
    631615            }
    632         }
    633        
    634         //Trigger the afterLoad callback
     616        };
     617       
     618        // Trigger the afterLoad callback
    635619        settings.afterLoad.call(this);
    636                
    637                 return this;
     620       
     621        return this;
    638622    };
    639623       
    640624    $.fn.nivoSlider = function(options) {
    641    
    642625        return this.each(function(key, value){
    643626            var element = $(this);
    644627            // Return early if this element already has a plugin instance
    645             if (element.data('nivoslider')) return element.data('nivoslider');
     628            if (element.data('nivoslider')) { return element.data('nivoslider'); }
    646629            // Pass options to plugin constructor
    647630            var nivoslider = new NivoSlider(this, options);
     
    649632            element.data('nivoslider', nivoslider);
    650633        });
    651 
    652         };
    653        
    654         //Default settings
    655         $.fn.nivoSlider.defaults = {
    656                 effect: 'random',
    657                 slices: 15,
    658                 boxCols: 8,
    659                 boxRows: 4,
    660                 animSpeed: 500,
    661                 pauseTime: 3000,
    662                 startSlide: 0,
    663                 directionNav: true,
    664                 directionNavHide: true,
    665                 controlNav: true,
    666                 controlNavThumbs: false,
    667         controlNavThumbsFromRel: false,
    668                 controlNavThumbsSearch: '.jpg',
    669                 controlNavThumbsReplace: '_thumb.jpg',
    670                 keyboardNav: true,
    671                 pauseOnHover: true,
    672                 manualAdvance: false,
    673                 captionOpacity: 0.8,
    674                 prevText: 'Prev',
    675                 nextText: 'Next',
    676                 beforeChange: function(){},
    677                 afterChange: function(){},
    678                 slideshowEnd: function(){},
     634    };
     635   
     636    //Default settings
     637    $.fn.nivoSlider.defaults = {
     638        effect: 'random',
     639        slices: 15,
     640        boxCols: 8,
     641        boxRows: 4,
     642        animSpeed: 500,
     643        pauseTime: 3000,
     644        startSlide: 0,
     645        directionNav: true,
     646        controlNav: true,
     647        controlNavThumbs: false,
     648        pauseOnHover: true,
     649        manualAdvance: false,
     650        prevText: 'Prev',
     651        nextText: 'Next',
     652        randomStart: false,
     653        beforeChange: function(){},
     654        afterChange: function(){},
     655        slideshowEnd: function(){},
    679656        lastSlide: function(){},
    680657        afterLoad: function(){}
    681         };
    682        
    683         $.fn._reverse = [].reverse;
    684        
     658    };
     659
     660    $.fn._reverse = [].reverse;
     661   
    685662})(jQuery);
  • _plugins_/nivoslider/trunk/js/jquery.nivo.slider.pack.js

    r48119 r75924  
    11/*
    2  * jQuery Nivo Slider v2.5.2
     2 * jQuery Nivo Slider v3.2
    33 * http://nivo.dev7studios.com
    44 *
    5  * Copyright 2011, Gilbert Pellegrom
     5 * Copyright 2012, Dev7studios
    66 * Free to use and abuse under the MIT license.
    77 * http://www.opensource.org/licenses/mit-license.php
    8  *
    9  * March 2010
    108 */
    119
    12 (function($){var NivoSlider=function(element,options){var settings=$.extend({},$.fn.nivoSlider.defaults,options);var vars={currentSlide:0,currentImage:'',totalSlides:0,randAnim:'',running:false,paused:false,stop:false};var slider=$(element);slider.data('nivo:vars',vars);slider.css('position','relative');slider.addClass('nivoSlider');var kids=slider.children();kids.each(function(){var child=$(this);var link='';if(!child.is('img')){if(child.is('a')){child.addClass('nivo-imageLink');link=child;}
    13 child=child.find('img:first');}
    14 var childWidth=child.width();if(childWidth==0)childWidth=child.attr('width');var childHeight=child.height();if(childHeight==0)childHeight=child.attr('height');if(childWidth>slider.width()){slider.width(childWidth);}
    15 if(childHeight>slider.height()){slider.height(childHeight);}
    16 if(link!=''){link.css('display','none');}
    17 child.css('display','none');vars.totalSlides++;});if(settings.startSlide>0){if(settings.startSlide>=vars.totalSlides)settings.startSlide=vars.totalSlides-1;vars.currentSlide=settings.startSlide;}
    18 if($(kids[vars.currentSlide]).is('img')){vars.currentImage=$(kids[vars.currentSlide]);}else{vars.currentImage=$(kids[vars.currentSlide]).find('img:first');}
    19 if($(kids[vars.currentSlide]).is('a')){$(kids[vars.currentSlide]).css('display','block');}
    20 slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');slider.append($('<div class="nivo-caption"><p></p></div>').css({display:'none',opacity:settings.captionOpacity}));var processCaption=function(settings){var nivoCaption=$('.nivo-caption',slider);if(vars.currentImage.attr('title')!=''&&vars.currentImage.attr('title')!=undefined){var title=vars.currentImage.attr('title');if(title.substr(0,1)=='#')title=$(title).html();if(nivoCaption.css('display')=='block'){nivoCaption.find('p').fadeOut(settings.animSpeed,function(){$(this).html(title);$(this).fadeIn(settings.animSpeed);});}else{nivoCaption.find('p').html(title);}
    21 nivoCaption.fadeIn(settings.animSpeed);}else{nivoCaption.fadeOut(settings.animSpeed);}}
    22 processCaption(settings);var timer=0;if(!settings.manualAdvance&&kids.length>1){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}
    23 if(settings.directionNav){slider.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+settings.prevText+'</a><a class="nivo-nextNav">'+settings.nextText+'</a></div>');if(settings.directionNavHide){$('.nivo-directionNav',slider).hide();slider.hover(function(){$('.nivo-directionNav',slider).show();},function(){$('.nivo-directionNav',slider).hide();});}
    24 $('a.nivo-prevNav',slider).live('click',function(){if(vars.running)return false;clearInterval(timer);timer='';vars.currentSlide-=2;nivoRun(slider,kids,settings,'prev');});$('a.nivo-nextNav',slider).live('click',function(){if(vars.running)return false;clearInterval(timer);timer='';nivoRun(slider,kids,settings,'next');});}
    25 if(settings.controlNav){var nivoControl=$('<div class="nivo-controlNav"></div>');slider.append(nivoControl);for(var i=0;i<kids.length;i++){if(settings.controlNavThumbs){var child=kids.eq(i);if(!child.is('img')){child=child.find('img:first');}
    26 if(settings.controlNavThumbsFromRel){nivoControl.append('<a class="nivo-control" rel="'+i+'"><img src="'+child.attr('rel')+'" alt="" /></a>');}else{nivoControl.append('<a class="nivo-control" rel="'+i+'"><img src="'+child.attr('src').replace(settings.controlNavThumbsSearch,settings.controlNavThumbsReplace)+'" alt="" /></a>');}}else{nivoControl.append('<a class="nivo-control" rel="'+i+'">'+(i+1)+'</a>');}}
    27 $('.nivo-controlNav a:eq('+vars.currentSlide+')',slider).addClass('active');$('.nivo-controlNav a',slider).live('click',function(){if(vars.running)return false;if($(this).hasClass('active'))return false;clearInterval(timer);timer='';slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');vars.currentSlide=$(this).attr('rel')-1;nivoRun(slider,kids,settings,'control');});}
    28 if(settings.keyboardNav){$(window).keypress(function(event){if(event.keyCode=='37'){if(vars.running)return false;clearInterval(timer);timer='';vars.currentSlide-=2;nivoRun(slider,kids,settings,'prev');}
    29 if(event.keyCode=='39'){if(vars.running)return false;clearInterval(timer);timer='';nivoRun(slider,kids,settings,'next');}});}
    30 if(settings.pauseOnHover){slider.hover(function(){vars.paused=true;clearInterval(timer);timer='';},function(){vars.paused=false;if(timer==''&&!settings.manualAdvance){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}});}
    31 slider.bind('nivo:animFinished',function(){vars.running=false;$(kids).each(function(){if($(this).is('a')){$(this).css('display','none');}});if($(kids[vars.currentSlide]).is('a')){$(kids[vars.currentSlide]).css('display','block');}
    32 if(timer==''&&!vars.paused&&!settings.manualAdvance){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}
    33 settings.afterChange.call(this);});var createSlices=function(slider,settings,vars){for(var i=0;i<settings.slices;i++){var sliceWidth=Math.round(slider.width()/settings.slices);if(i==settings.slices-1){slider.append($('<div class="nivo-slice"></div>').css({left:(sliceWidth*i)+'px',width:(slider.width()-(sliceWidth*i))+'px',height:'0px',opacity:'0',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((sliceWidth+(i*sliceWidth))-sliceWidth)+'px 0%'}));}else{slider.append($('<div class="nivo-slice"></div>').css({left:(sliceWidth*i)+'px',width:sliceWidth+'px',height:'0px',opacity:'0',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((sliceWidth+(i*sliceWidth))-sliceWidth)+'px 0%'}));}}}
    34 var createBoxes=function(slider,settings,vars){var boxWidth=Math.round(slider.width()/settings.boxCols);var boxHeight=Math.round(slider.height()/settings.boxRows);for(var rows=0;rows<settings.boxRows;rows++){for(var cols=0;cols<settings.boxCols;cols++){if(cols==settings.boxCols-1){slider.append($('<div class="nivo-box"></div>').css({opacity:0,left:(boxWidth*cols)+'px',top:(boxHeight*rows)+'px',width:(slider.width()-(boxWidth*cols))+'px',height:boxHeight+'px',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((boxWidth+(cols*boxWidth))-boxWidth)+'px -'+((boxHeight+(rows*boxHeight))-boxHeight)+'px'}));}else{slider.append($('<div class="nivo-box"></div>').css({opacity:0,left:(boxWidth*cols)+'px',top:(boxHeight*rows)+'px',width:boxWidth+'px',height:boxHeight+'px',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((boxWidth+(cols*boxWidth))-boxWidth)+'px -'+((boxHeight+(rows*boxHeight))-boxHeight)+'px'}));}}}}
    35 var nivoRun=function(slider,kids,settings,nudge){var vars=slider.data('nivo:vars');if(vars&&(vars.currentSlide==vars.totalSlides-1)){settings.lastSlide.call(this);}
    36 if((!vars||vars.stop)&&!nudge)return false;settings.beforeChange.call(this);if(!nudge){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}else{if(nudge=='prev'){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}
    37 if(nudge=='next'){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}}
    38 vars.currentSlide++;if(vars.currentSlide==vars.totalSlides){vars.currentSlide=0;settings.slideshowEnd.call(this);}
    39 if(vars.currentSlide<0)vars.currentSlide=(vars.totalSlides-1);if($(kids[vars.currentSlide]).is('img')){vars.currentImage=$(kids[vars.currentSlide]);}else{vars.currentImage=$(kids[vars.currentSlide]).find('img:first');}
    40 if(settings.controlNav){$('.nivo-controlNav a',slider).removeClass('active');$('.nivo-controlNav a:eq('+vars.currentSlide+')',slider).addClass('active');}
    41 processCaption(settings);$('.nivo-slice',slider).remove();$('.nivo-box',slider).remove();if(settings.effect=='random'){var anims=new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade','boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');vars.randAnim=anims[Math.floor(Math.random()*(anims.length+1))];if(vars.randAnim==undefined)vars.randAnim='fade';}
    42 if(settings.effect.indexOf(',')!=-1){var anims=settings.effect.split(',');vars.randAnim=anims[Math.floor(Math.random()*(anims.length))];if(vars.randAnim==undefined)vars.randAnim='fade';}
    43 vars.running=true;if(settings.effect=='sliceDown'||settings.effect=='sliceDownRight'||vars.randAnim=='sliceDownRight'||settings.effect=='sliceDownLeft'||vars.randAnim=='sliceDownLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceDownLeft'||vars.randAnim=='sliceDownLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);slice.css({'top':'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
    44 timeBuff+=50;i++;});}
    45 else if(settings.effect=='sliceUp'||settings.effect=='sliceUpRight'||vars.randAnim=='sliceUpRight'||settings.effect=='sliceUpLeft'||vars.randAnim=='sliceUpLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceUpLeft'||vars.randAnim=='sliceUpLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);slice.css({'bottom':'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
    46 timeBuff+=50;i++;});}
    47 else if(settings.effect=='sliceUpDown'||settings.effect=='sliceUpDownRight'||vars.randAnim=='sliceUpDown'||settings.effect=='sliceUpDownLeft'||vars.randAnim=='sliceUpDownLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var v=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceUpDownLeft'||vars.randAnim=='sliceUpDownLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);if(i==0){slice.css('top','0px');i++;}else{slice.css('bottom','0px');i=0;}
    48 if(v==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
    49 timeBuff+=50;v++;});}
    50 else if(settings.effect=='fold'||vars.randAnim=='fold'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;$('.nivo-slice',slider).each(function(){var slice=$(this);var origWidth=slice.width();slice.css({top:'0px',height:'100%',width:'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({width:origWidth,opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({width:origWidth,opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
    51 timeBuff+=50;i++;});}
    52 else if(settings.effect=='fade'||vars.randAnim=='fade'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':slider.width()+'px'});firstSlice.animate({opacity:'1.0'},(settings.animSpeed*2),'',function(){slider.trigger('nivo:animFinished');});}
    53 else if(settings.effect=='slideInRight'||vars.randAnim=='slideInRight'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':'0px','opacity':'1'});firstSlice.animate({width:slider.width()+'px'},(settings.animSpeed*2),'',function(){slider.trigger('nivo:animFinished');});}
    54 else if(settings.effect=='slideInLeft'||vars.randAnim=='slideInLeft'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':'0px','opacity':'1','left':'','right':'0px'});firstSlice.animate({width:slider.width()+'px'},(settings.animSpeed*2),'',function(){firstSlice.css({'left':'0px','right':''});slider.trigger('nivo:animFinished');});}
    55 else if(settings.effect=='boxRandom'||vars.randAnim=='boxRandom'){createBoxes(slider,settings,vars);var totalBoxes=settings.boxCols*settings.boxRows;var i=0;var timeBuff=0;var boxes=shuffle($('.nivo-box',slider));boxes.each(function(){var box=$(this);if(i==totalBoxes-1){setTimeout(function(){box.animate({opacity:'1'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){box.animate({opacity:'1'},settings.animSpeed);},(100+timeBuff));}
    56 timeBuff+=20;i++;});}
    57 else if(settings.effect=='boxRain'||vars.randAnim=='boxRain'||settings.effect=='boxRainReverse'||vars.randAnim=='boxRainReverse'||settings.effect=='boxRainGrow'||vars.randAnim=='boxRainGrow'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){createBoxes(slider,settings,vars);var totalBoxes=settings.boxCols*settings.boxRows;var i=0;var timeBuff=0;var rowIndex=0;var colIndex=0;var box2Darr=new Array();box2Darr[rowIndex]=new Array();var boxes=$('.nivo-box',slider);if(settings.effect=='boxRainReverse'||vars.randAnim=='boxRainReverse'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){boxes=$('.nivo-box',slider)._reverse();}
    58 boxes.each(function(){box2Darr[rowIndex][colIndex]=$(this);colIndex++;if(colIndex==settings.boxCols){rowIndex++;colIndex=0;box2Darr[rowIndex]=new Array();}});for(var cols=0;cols<(settings.boxCols*2);cols++){var prevCol=cols;for(var rows=0;rows<settings.boxRows;rows++){if(prevCol>=0&&prevCol<settings.boxCols){(function(row,col,time,i,totalBoxes){var box=$(box2Darr[row][col]);var w=box.width();var h=box.height();if(settings.effect=='boxRainGrow'||vars.randAnim=='boxRainGrow'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){box.width(0).height(0);}
    59 if(i==totalBoxes-1){setTimeout(function(){box.animate({opacity:'1',width:w,height:h},settings.animSpeed/1.3,'',function(){slider.trigger('nivo:animFinished');});},(100+time));}else{setTimeout(function(){box.animate({opacity:'1',width:w,height:h},settings.animSpeed/1.3);},(100+time));}})(rows,prevCol,timeBuff,i,totalBoxes);i++;}
    60 prevCol--;}
    61 timeBuff+=100;}}}
    62 var shuffle=function(arr){for(var j,x,i=arr.length;i;j=parseInt(Math.random()*i),x=arr[--i],arr[i]=arr[j],arr[j]=x);return arr;}
    63 var trace=function(msg){if(this.console&&typeof console.log!="undefined")
    64 console.log(msg);}
    65 this.stop=function(){if(!$(element).data('nivo:vars').stop){$(element).data('nivo:vars').stop=true;trace('Stop Slider');}}
    66 this.start=function(){if($(element).data('nivo:vars').stop){$(element).data('nivo:vars').stop=false;trace('Start Slider');}}
    67 settings.afterLoad.call(this);return this;};$.fn.nivoSlider=function(options){return this.each(function(key,value){var element=$(this);if(element.data('nivoslider'))return element.data('nivoslider');var nivoslider=new NivoSlider(this,options);element.data('nivoslider',nivoslider);});};$.fn.nivoSlider.defaults={effect:'random',slices:15,boxCols:8,boxRows:4,animSpeed:500,pauseTime:3000,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,controlNavThumbs:false,controlNavThumbsFromRel:false,controlNavThumbsSearch:'.jpg',controlNavThumbsReplace:'_thumb.jpg',keyboardNav:true,pauseOnHover:true,manualAdvance:false,captionOpacity:0.8,prevText:'Prev',nextText:'Next',beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};$.fn._reverse=[].reverse;})(jQuery);
     10(function(e){var t=function(t,n){var r=e.extend({},e.fn.nivoSlider.defaults,n);var i={currentSlide:0,currentImage:"",totalSlides:0,running:false,paused:false,stop:false,controlNavEl:false};var s=e(t);s.data("nivo:vars",i).addClass("nivoSlider");var o=s.children();o.each(function(){var t=e(this);var n="";if(!t.is("img")){if(t.is("a")){t.addClass("nivo-imageLink");n=t}t=t.find("img:first")}var r=r===0?t.attr("width"):t.width(),s=s===0?t.attr("height"):t.height();if(n!==""){n.css("display","none")}t.css("display","none");i.totalSlides++});if(r.randomStart){r.startSlide=Math.floor(Math.random()*i.totalSlides)}if(r.startSlide>0){if(r.startSlide>=i.totalSlides){r.startSlide=i.totalSlides-1}i.currentSlide=r.startSlide}if(e(o[i.currentSlide]).is("img")){i.currentImage=e(o[i.currentSlide])}else{i.currentImage=e(o[i.currentSlide]).find("img:first")}if(e(o[i.currentSlide]).is("a")){e(o[i.currentSlide]).css("display","block")}var u=e("<img/>").addClass("nivo-main-image");u.attr("src",i.currentImage.attr("src")).show();s.append(u);e(window).resize(function(){s.children("img").width(s.width());u.attr("src",i.currentImage.attr("src"));u.stop().height("auto");e(".nivo-slice").remove();e(".nivo-box").remove()});s.append(e('<div class="nivo-caption"></div>'));var a=function(t){var n=e(".nivo-caption",s);if(i.currentImage.attr("title")!=""&&i.currentImage.attr("title")!=undefined){var r=i.currentImage.attr("title");if(r.substr(0,1)=="#")r=e(r).html();if(n.css("display")=="block"){setTimeout(function(){n.html(r)},t.animSpeed)}else{n.html(r);n.stop().fadeIn(t.animSpeed)}}else{n.stop().fadeOut(t.animSpeed)}};a(r);var f=0;if(!r.manualAdvance&&o.length>1){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}if(r.directionNav){s.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+r.prevText+'</a><a class="nivo-nextNav">'+r.nextText+"</a></div>");e(s).on("click","a.nivo-prevNav",function(){if(i.running){return false}clearInterval(f);f="";i.currentSlide-=2;d(s,o,r,"prev")});e(s).on("click","a.nivo-nextNav",function(){if(i.running){return false}clearInterval(f);f="";d(s,o,r,"next")})}if(r.controlNav){i.controlNavEl=e('<div class="nivo-controlNav"></div>');s.after(i.controlNavEl);for(var l=0;l<o.length;l++){if(r.controlNavThumbs){i.controlNavEl.addClass("nivo-thumbs-enabled");var c=o.eq(l);if(!c.is("img")){c=c.find("img:first")}if(c.attr("data-thumb"))i.controlNavEl.append('<a class="nivo-control" rel="'+l+'"><img src="'+c.attr("data-thumb")+'" alt="" /></a>')}else{i.controlNavEl.append('<a class="nivo-control" rel="'+l+'">'+(l+1)+"</a>")}}e("a:eq("+i.currentSlide+")",i.controlNavEl).addClass("active");e("a",i.controlNavEl).bind("click",function(){if(i.running)return false;if(e(this).hasClass("active"))return false;clearInterval(f);f="";u.attr("src",i.currentImage.attr("src"));i.currentSlide=e(this).attr("rel")-1;d(s,o,r,"control")})}if(r.pauseOnHover){s.hover(function(){i.paused=true;clearInterval(f);f=""},function(){i.paused=false;if(f===""&&!r.manualAdvance){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}})}s.bind("nivo:animFinished",function(){u.attr("src",i.currentImage.attr("src"));i.running=false;e(o).each(function(){if(e(this).is("a")){e(this).css("display","none")}});if(e(o[i.currentSlide]).is("a")){e(o[i.currentSlide]).css("display","block")}if(f===""&&!i.paused&&!r.manualAdvance){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}r.afterChange.call(this)});var h=function(t,n,r){if(e(r.currentImage).parent().is("a"))e(r.currentImage).parent().css("display","block");e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").width(t.width()).css("visibility","hidden").show();var i=e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").parent().is("a")?e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").parent().height():e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").height();for(var s=0;s<n.slices;s++){var o=Math.round(t.width()/n.slices);if(s===n.slices-1){t.append(e('<div class="nivo-slice" name="'+s+'"><img src="'+r.currentImage.attr("src")+'" style="position:absolute; width:'+t.width()+"px; height:auto; display:block !important; top:0; left:-"+(o+s*o-o)+'px;" /></div>').css({left:o*s+"px",width:t.width()-o*s+"px",height:i+"px",opacity:"0",overflow:"hidden"}))}else{t.append(e('<div class="nivo-slice" name="'+s+'"><img src="'+r.currentImage.attr("src")+'" style="position:absolute; width:'+t.width()+"px; height:auto; display:block !important; top:0; left:-"+(o+s*o-o)+'px;" /></div>').css({left:o*s+"px",width:o+"px",height:i+"px",opacity:"0",overflow:"hidden"}))}}e(".nivo-slice",t).height(i);u.stop().animate({height:e(r.currentImage).height()},n.animSpeed)};var p=function(t,n,r){if(e(r.currentImage).parent().is("a"))e(r.currentImage).parent().css("display","block");e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").width(t.width()).css("visibility","hidden").show();var i=Math.round(t.width()/n.boxCols),s=Math.round(e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").height()/n.boxRows);for(var o=0;o<n.boxRows;o++){for(var a=0;a<n.boxCols;a++){if(a===n.boxCols-1){t.append(e('<div class="nivo-box" name="'+a+'" rel="'+o+'"><img src="'+r.currentImage.attr("src")+'" style="position:absolute; width:'+t.width()+"px; height:auto; display:block; top:-"+s*o+"px; left:-"+i*a+'px;" /></div>').css({opacity:0,left:i*a+"px",top:s*o+"px",width:t.width()-i*a+"px"}));e('.nivo-box[name="'+a+'"]',t).height(e('.nivo-box[name="'+a+'"] img',t).height()+"px")}else{t.append(e('<div class="nivo-box" name="'+a+'" rel="'+o+'"><img src="'+r.currentImage.attr("src")+'" style="position:absolute; width:'+t.width()+"px; height:auto; display:block; top:-"+s*o+"px; left:-"+i*a+'px;" /></div>').css({opacity:0,left:i*a+"px",top:s*o+"px",width:i+"px"}));e('.nivo-box[name="'+a+'"]',t).height(e('.nivo-box[name="'+a+'"] img',t).height()+"px")}}}u.stop().animate({height:e(r.currentImage).height()},n.animSpeed)};var d=function(t,n,r,i){var s=t.data("nivo:vars");if(s&&s.currentSlide===s.totalSlides-1){r.lastSlide.call(this)}if((!s||s.stop)&&!i){return false}r.beforeChange.call(this);if(!i){u.attr("src",s.currentImage.attr("src"))}else{if(i==="prev"){u.attr("src",s.currentImage.attr("src"))}if(i==="next"){u.attr("src",s.currentImage.attr("src"))}}s.currentSlide++;if(s.currentSlide===s.totalSlides){s.currentSlide=0;r.slideshowEnd.call(this)}if(s.currentSlide<0){s.currentSlide=s.totalSlides-1}if(e(n[s.currentSlide]).is("img")){s.currentImage=e(n[s.currentSlide])}else{s.currentImage=e(n[s.currentSlide]).find("img:first")}if(r.controlNav){e("a",s.controlNavEl).removeClass("active");e("a:eq("+s.currentSlide+")",s.controlNavEl).addClass("active")}a(r);e(".nivo-slice",t).remove();e(".nivo-box",t).remove();var o=r.effect,f="";if(r.effect==="random"){f=new Array("sliceDownRight","sliceDownLeft","sliceUpRight","sliceUpLeft","sliceUpDown","sliceUpDownLeft","fold","fade","boxRandom","boxRain","boxRainReverse","boxRainGrow","boxRainGrowReverse");o=f[Math.floor(Math.random()*(f.length+1))];if(o===undefined){o="fade"}}if(r.effect.indexOf(",")!==-1){f=r.effect.split(",");o=f[Math.floor(Math.random()*f.length)];if(o===undefined){o="fade"}}if(s.currentImage.attr("data-transition")){o=s.currentImage.attr("data-transition")}s.running=true;var l=0,c=0,d="",m="",g="",y="";if(o==="sliceDown"||o==="sliceDownRight"||o==="sliceDownLeft"){h(t,r,s);l=0;c=0;d=e(".nivo-slice",t);if(o==="sliceDownLeft"){d=e(".nivo-slice",t)._reverse()}d.each(function(){var n=e(this);n.css({top:"0px"});if(c===r.slices-1){setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed,"",function(){t.trigger("nivo:animFinished")})},100+l)}else{setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed)},100+l)}l+=50;c++})}else if(o==="sliceUp"||o==="sliceUpRight"||o==="sliceUpLeft"){h(t,r,s);l=0;c=0;d=e(".nivo-slice",t);if(o==="sliceUpLeft"){d=e(".nivo-slice",t)._reverse()}d.each(function(){var n=e(this);n.css({bottom:"0px"});if(c===r.slices-1){setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed,"",function(){t.trigger("nivo:animFinished")})},100+l)}else{setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed)},100+l)}l+=50;c++})}else if(o==="sliceUpDown"||o==="sliceUpDownRight"||o==="sliceUpDownLeft"){h(t,r,s);l=0;c=0;var b=0;d=e(".nivo-slice",t);if(o==="sliceUpDownLeft"){d=e(".nivo-slice",t)._reverse()}d.each(function(){var n=e(this);if(c===0){n.css("top","0px");c++}else{n.css("bottom","0px");c=0}if(b===r.slices-1){setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed,"",function(){t.trigger("nivo:animFinished")})},100+l)}else{setTimeout(function(){n.animate({opacity:"1.0"},r.animSpeed)},100+l)}l+=50;b++})}else if(o==="fold"){h(t,r,s);l=0;c=0;e(".nivo-slice",t).each(function(){var n=e(this);var i=n.width();n.css({top:"0px",width:"0px"});if(c===r.slices-1){setTimeout(function(){n.animate({width:i,opacity:"1.0"},r.animSpeed,"",function(){t.trigger("nivo:animFinished")})},100+l)}else{setTimeout(function(){n.animate({width:i,opacity:"1.0"},r.animSpeed)},100+l)}l+=50;c++})}else if(o==="fade"){h(t,r,s);m=e(".nivo-slice:first",t);m.css({width:t.width()+"px"});m.animate({opacity:"1.0"},r.animSpeed*2,"",function(){t.trigger("nivo:animFinished")})}else if(o==="slideInRight"){h(t,r,s);m=e(".nivo-slice:first",t);m.css({width:"0px",opacity:"1"});m.animate({width:t.width()+"px"},r.animSpeed*2,"",function(){t.trigger("nivo:animFinished")})}else if(o==="slideInLeft"){h(t,r,s);m=e(".nivo-slice:first",t);m.css({width:"0px",opacity:"1",left:"",right:"0px"});m.animate({width:t.width()+"px"},r.animSpeed*2,"",function(){m.css({left:"0px",right:""});t.trigger("nivo:animFinished")})}else if(o==="boxRandom"){p(t,r,s);g=r.boxCols*r.boxRows;c=0;l=0;y=v(e(".nivo-box",t));y.each(function(){var n=e(this);if(c===g-1){setTimeout(function(){n.animate({opacity:"1"},r.animSpeed,"",function(){t.trigger("nivo:animFinished")})},100+l)}else{setTimeout(function(){n.animate({opacity:"1"},r.animSpeed)},100+l)}l+=20;c++})}else if(o==="boxRain"||o==="boxRainReverse"||o==="boxRainGrow"||o==="boxRainGrowReverse"){p(t,r,s);g=r.boxCols*r.boxRows;c=0;l=0;var w=0;var E=0;var S=[];S[w]=[];y=e(".nivo-box",t);if(o==="boxRainReverse"||o==="boxRainGrowReverse"){y=e(".nivo-box",t)._reverse()}y.each(function(){S[w][E]=e(this);E++;if(E===r.boxCols){w++;E=0;S[w]=[]}});for(var x=0;x<r.boxCols*2;x++){var T=x;for(var N=0;N<r.boxRows;N++){if(T>=0&&T<r.boxCols){(function(n,i,s,u,a){var f=e(S[n][i]);var l=f.width();var c=f.height();if(o==="boxRainGrow"||o==="boxRainGrowReverse"){f.width(0).height(0)}if(u===a-1){setTimeout(function(){f.animate({opacity:"1",width:l,height:c},r.animSpeed/1.3,"",function(){t.trigger("nivo:animFinished")})},100+s)}else{setTimeout(function(){f.animate({opacity:"1",width:l,height:c},r.animSpeed/1.3)},100+s)}})(N,T,l,c,g);c++}T--}l+=100}}};var v=function(e){for(var t,n,r=e.length;r;t=parseInt(Math.random()*r,10),n=e[--r],e[r]=e[t],e[t]=n);return e};var m=function(e){if(this.console&&typeof console.log!=="undefined"){console.log(e)}};this.stop=function(){if(!e(t).data("nivo:vars").stop){e(t).data("nivo:vars").stop=true;m("Stop Slider")}};this.start=function(){if(e(t).data("nivo:vars").stop){e(t).data("nivo:vars").stop=false;m("Start Slider")}};r.afterLoad.call(this);return this};e.fn.nivoSlider=function(n){return this.each(function(r,i){var s=e(this);if(s.data("nivoslider")){return s.data("nivoslider")}var o=new t(this,n);s.data("nivoslider",o)})};e.fn.nivoSlider.defaults={effect:"random",slices:15,boxCols:8,boxRows:4,animSpeed:500,pauseTime:3e3,startSlide:0,directionNav:true,controlNav:true,controlNavThumbs:false,pauseOnHover:true,manualAdvance:false,prevText:"Prev",nextText:"Next",randomStart:false,beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};e.fn._reverse=[].reverse})(jQuery)
  • _plugins_/nivoslider/trunk/modeles/album_nivoslider.html

    r68951 r75924  
    3333]
    3434<BOUCLE_album(ALBUMS){id_album}{statut == #REM|test_espace_prive|?{.*,#ENV{statut,publie}}}>
    35 
    36 #SET{width, #ENV{width, #CONFIG{nivoslider/width, 500}}}
    37 #SET{height, #ENV{height, #CONFIG{nivoslider/height, 240}}}
    38 #SET{effect, #ENV{effect, #CONFIG{nivoslider/effect, random}}}
    39 #SET{slices, #ENV{slices, #CONFIG{nivoslider/slices,15}}}
    40 #SET{animSpeed, #ENV{animSpeed, #CONFIG{nivoslider/animSpeed,500}}}
    41 #SET{pauseTime, #ENV{pauseTime, #CONFIG{nivoslider/pauseTime,3000}}}
    42 #SET{directionNav, #ENV{directionNav, #CONFIG{nivoslider/directionNav,true}}}
    43 #SET{directionNavHide, #ENV{directionNavHide, #CONFIG{nivoslider/directionNavHide,true}}}
    44 #SET{controlNav, #ENV{controlNav, #CONFIG{nivoslider/controlNav,true}}}
    45 #SET{keyboardNav, #ENV{keyboardNav, #CONFIG{nivoslider/keyboardNav,false}}}
    46 #SET{pauseOnHover, #ENV{pauseOnHover, #CONFIG{nivoslider/pauseOnHover,true}}}
    47 #SET{captionOpacity, #ENV{captionOpacity, #CONFIG{nivoslider/captionOpacity,0.8}}}
    48 #SET{imageAlign, #ENV{imageAlign, #CONFIG{nivoslider/imageAlign,'center center'}}}
    49 #SET{imageBackcolor, #ENV{imageBackcolor, #CONFIG{nivoslider/imageBackcolor,'transparent'}}}
    50 #SET{controlNavThumbs, #ENV{controlNavThumbs, #CONFIG{nivoslider/controlNavThumbs,false}}}
    51 #SET{controlNavThumbsWidth, #ENV{controlNavThumbsWidth, #CONFIG{nivoslider/controlNavThumbsWidth,50}}}
    52 #SET{controlNavThumbsHeight, #ENV{controlNavThumbsHeight, #CONFIG{nivoslider/controlNavThumbsHeight,50}}}
    53 #SET{id_rand, #VAL{1}|rand{1000}}
    54 
    55 <B_doc>
    56 [<h2>(#ENV{titre}|!={non}|oui)#ENV{titre,#_album:TITRE}</h2>]
    57 
    58 <div id='slider' style="[width:(#GET{width})px;][height:(#GET{height})px]"[ class="(#ENV{align})"]>
    59         <div id="slider_#GET{id_rand}" class="nivoSlider">
    60         <BOUCLE_doc(DOCUMENTS){extension IN png,jpg,gif}{id_album}{par num titre, date}{doublons}{0, #REM|test_espace_prive|?{1,#ENV{limite,1000}}}{tout}>
    61 
    62                 [(#DESCRIPTIF|non)
    63                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height},#GET{imageAlign},#GET{imageBackcolor}}|inserer_attribut{title,#TITRE|supprimer_numero}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    64                 ]
    65 
    66                 [(#DESCRIPTIF|oui)
    67                         #SET{lien, #VAL{'spip.php?'#DESCRIPTIF}|attribut_html|trim}
    68                         #SET{fancyornot,''}
    69                         [(#DESCRIPTIF|match{doc}|=={doc}|oui)
    70                                 [(#PLUGIN{FANCYBOX}|oui)
    71                                         #SET{fancyornot, #CONFIG{fancybox/selecteur_commun,'.fancybox'}|replace{'\.',''}}
    72                                 ]
    73                                 #SET{lien, #URL_DOCUMENT}
    74                         ]
    75                         [(#DESCRIPTIF|match{http}|=={http}|oui)
    76                                 #SET{lien, #DESCRIPTIF|textebrut}
    77                         ]
    78                         <a href="#GET{lien}"[ class="(#GET{fancyornot})"]>
    79                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    80                         </a>
    81                 ]
    82 
    83         </BOUCLE_doc>
    84         </div>
    85 </div>
    86 
    87 <br style="clear:both"/>
    88 
    89 <script type="text/javascript">/*<![CDATA[*/
    90         [(#REM) on ne charge pas le script dans l espace privé ]
    91         [(#REM|test_espace_prive|non)
    92                 jQuery(function() {
    93                 $('#slider_#GET{id_rand}').nivoSlider({
    94                         [effect:'(#GET{effect})',]
    95                         [slices:(#GET{slices}),]
    96                         [animSpeed:(#GET{animSpeed}),]
    97                         [pauseTime:(#GET{pauseTime}),]
    98                         [directionNav:(#GET{directionNav}),]
    99                         [directionNavHide:(#GET{directionNavHide}),]
    100                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})
    101                                 [controlNav:(#GET{controlNav}),]
    102                         ]
    103                         [keyboardNav:(#GET{keyboardNav}),]
    104                         [pauseOnHover:(#GET{pauseOnHover}),]
    105                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
    106                                 [controlNavThumbs:(#GET{controlNavThumbs}),]
    107                                 [controlNavThumbsFromRel:(#GET{controlNavThumbs}),]
    108                         ]
    109                         [captionOpacity:(#GET{captionOpacity})]
    110                 });
    111                 [(#ENV{manuel}|=={oui}|oui)
    112                 $('#slider_#GET{id_rand}').data('nivoslider').stop();
    113                 ]
    114         });
    115         ]
    116 /*]]>*/</script>
    117 
    118 </B_doc>
     35[<h2>(#ENV{titre}|!={non}|oui)#ENV{titre,#_album:TITRE}</h2>
     36(#INCLURE{fond=modeles/nivoslider_base,env,id_objet=#ID_ALBUM,objet=album,doublons,limite=#REM|test_espace_prive|?{1,#ENV{limite,1000}}})
     37]
    11938</BOUCLE_album>
  • _plugins_/nivoslider/trunk/modeles/article_nivoslider.html

    r54975 r75924  
    11[(#REM) modèle Nivoslider pour un article :
    2  - Depuis un article : < nivosliderXX >, alors affiche l'article XX
     2 - Depuis un article : <article33|nivoslider>, alors affiche les images liees a l'article XX
    33 - Selon le modele CROCHET(# MODELE{nivoslider}{id_article=XX})CROCHET
    44]
    55
    66[(#SET{id_article,[(#ENV{id_article, #CONFIG{nivoslider/id_defaut, 0} })]} )]
    7 
    8 [(#SET{width,[(#ENV{width, #CONFIG{nivoslider/width, 500} })]} )]
    9 [(#SET{height,[(#ENV{height, #CONFIG{nivoslider/height, 240} })]} )]
    10 [(#SET{effect,[(#ENV{effect, #CONFIG{nivoslider/effect, random} })]} )]
    11 [(#SET{slices,[(#ENV{slices, #CONFIG{nivoslider/slices,15} })]} )]
    12 [(#SET{animSpeed,[(#ENV{animSpeed, #CONFIG{nivoslider/animSpeed,500} })]} )]
    13 [(#SET{pauseTime,[(#ENV{pauseTime, #CONFIG{nivoslider/pauseTime,3000} })]} )]
    14 [(#SET{directionNav,[(#ENV{directionNav, #CONFIG{nivoslider/directionNav,true} })]} )]
    15 [(#SET{directionNavHide,[(#ENV{directionNavHide, #CONFIG{nivoslider/directionNavHide,true} })]} )]
    16 [(#SET{controlNav,[(#ENV{controlNav, #CONFIG{nivoslider/controlNav,true} })]} )]
    17 [(#SET{keyboardNav,[(#ENV{keyboardNav, #CONFIG{nivoslider/keyboardNav,false} })]} )]
    18 [(#SET{pauseOnHover,[(#ENV{pauseOnHover, #CONFIG{nivoslider/pauseOnHover,true} })]} )]
    19 [(#SET{captionOpacity,[(#ENV{captionOpacity, #CONFIG{nivoslider/captionOpacity,0.8} })]} )]
    20 [(#SET{imageAlign,[(#ENV{imageAlign, #CONFIG{nivoslider/imageAlign,'center'} })]} )]
    21 [(#SET{imageBackcolor,[(#ENV{imageBackcolor, #CONFIG{nivoslider/imageBackcolor,'transparent'} })]} )]
    22 [(#SET{controlNavThumbs,[(#ENV{controlNavThumbs, #CONFIG{nivoslider/controlNavThumbs,false} })]} )]
    23 [(#SET{controlNavThumbsWidth,[(#ENV{controlNavThumbsWidth, #CONFIG{nivoslider/controlNavThumbsWidth,50} })]} )]
    24 [(#SET{controlNavThumbsHeight,[(#ENV{controlNavThumbsHeight, #CONFIG{nivoslider/controlNavThumbsHeight,50} })]} )]
    25 
    26 [(#SET{id_rand, #VAL{1}|rand{1000}})]
    27 
    28 <B_doc>
    29 <div id='slider' style="[width:(#GET{width})px;][height:(#GET{height})px]">
    30         <div id="slider_#GET{id_rand}" class="nivoSlider">
    31         <BOUCLE_doc (DOCUMENTS) {id_article=#GET{id_article}} {mode=document} {extension IN png,jpg,gif} {par num titre} {doublons} {vu=non}>
    32                 [(#DESCRIPTIF|?{'',' '})
    33                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height},#GET{imageAlign},#GET{imageBackcolor}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    34                 ]
    35                 [(#DESCRIPTIF|?{' ',''})
    36                         [(#SET{lien,#VAL{'spip.php?'#DESCRIPTIF}|attribut_html|replace{' ',''}})]
    37                         [(#SET{fancyornot,''})]
    38                         [(#DESCRIPTIF|match{doc}|=={doc}|?{
    39                                 [(#PLUGIN{FANCYBOX}|oui)
    40                                         [(#SET{fancyornot, [(#CONFIG{fancybox/selecteur_commun,'.fancybox'}|replace{'\.',''})]})]
    41                                 ]
    42                                 [(#SET{lien, #URL_DOCUMENT})]
    43                         })]
    44                         [(#DESCRIPTIF|match{http}|=={http}|?{
    45                                 [(#SET{lien, [(#DESCRIPTIF|textebrut)]})]
    46                         })]
    47                         <a href="#GET{lien}" [class="(#GET{fancyornot})"]>
    48                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    49                         </a>
    50                 ]
    51         </BOUCLE_doc>
    52         </div>
    53 </div>
    54 <br style="clear:both"/>
    55 <script type="text/javascript">/*<![CDATA[*/
    56         jQuery(function() {
    57                 $('#slider_#GET{id_rand}').nivoSlider({
    58                         [effect:'(#GET{effect})',]
    59                         [slices:(#GET{slices}),]
    60                         [animSpeed:(#GET{animSpeed}),]
    61                         [pauseTime:(#GET{pauseTime}),]
    62                         [directionNav:(#GET{directionNav}),]
    63                         [directionNavHide:(#GET{directionNavHide}),]
    64                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})
    65                                 [controlNav:(#GET{controlNav}),]
    66                         ]
    67                         [keyboardNav:(#GET{keyboardNav}),]
    68                         [pauseOnHover:(#GET{pauseOnHover}),]
    69                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
    70                                 [controlNavThumbs:(#GET{controlNavThumbs}),]
    71                                 [controlNavThumbsFromRel:(#GET{controlNavThumbs}),]
    72                         ]
    73                         [captionOpacity:(#GET{captionOpacity})]
    74                 });
    75         });
    76 /*]]>*/</script>
    77 </B_doc>
    78 
    79 
    80  
     7<INCLURE{fond=modeles/nivoslider_base,env,id_objet=#GET{id_article},objet=article,doublons,mode=#ENV{mode,document}} />
  • _plugins_/nivoslider/trunk/modeles/nivoslider.html

    r54975 r75924  
    1 #INCLURE{fond=modeles/article_nivoslider,env,id_article=#ENV{id_nivoslider}}
     1<INCLURE{fond=modeles/nivoslider_base,env,id_objet=#ENV{id_nivoslider},objet=article} />
  • _plugins_/nivoslider/trunk/modeles/nivoslider_base.html

    r75905 r75924  
    1 [(#REM) modèle Nivoslider pour un article :
    2  - Depuis un article : < nivosliderXX >, alors affiche l'article XX
    3  - Selon le modele CROCHET(# MODELE{nivoslider}{id_article=XX})CROCHET
     1[(#REM) modele Nivoslider generique, utilise par les autres modeles
     2        Parametres :
     3        Selection des documents
     4                id_objet
     5          objet
     6          id_document
     7          vu
     8          limite
     9        Affichage du slider
     10                width:                  hauteur
     11                height:                 largeur
     12                manuel:
     13                effect:
     14                slices:
     15                animSpeed:
     16                pauseTime:
     17                directionNav:
     18                directionNavHide:
     19                controlNav:
     20                keyboardNav:
     21                pauseOnHover:
     22                captionOpacity:
     23                imageAlign:
     24                imageBackcolor:
     25                controlNavThumbs:
     26                controlNavThumbsWidth:
     27                controlNavThumbsHeight:
    428]
    5 
    6 [(#SET{id_article,[(#ENV{id_article, #CONFIG{nivoslider/id_defaut, 0} })]} )]
    729
    830[(#SET{width,[(#ENV{width, #CONFIG{nivoslider/width, 500} })]} )]
     
    2446[(#SET{controlNavThumbsHeight,[(#ENV{controlNavThumbsHeight, #CONFIG{nivoslider/controlNavThumbsHeight,50} })]} )]
    2547
    26 [(#SET{id_rand, #VAL{1}|rand{1000}})]
     48[(#SET{uniqid,#ENV|md5|substr{0,8}})]
    2749
    2850<B_doc>
    29 <div id='slider' style="[width:(#GET{width})px;][height:(#GET{height})px]">
    30         <div id="slider_#GET{id_rand}" class="nivoSlider">
    31         <BOUCLE_doc (DOCUMENTS) {id_article=#GET{id_article}} {mode=document} {extension IN png,jpg,gif} {par num titre} {doublons} {vu=non}>
    32                 [(#DESCRIPTIF|?{'',' '})
    33                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height},#GET{imageAlign},#GET{imageBackcolor}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    34                 ]
    35                 [(#DESCRIPTIF|?{' ',''})
     51<div class='nivoSlider-wrap[ nav-(#GET{controlNavThumbs}|=={'true'}|?{thumb,bullet})]' style="[width:(#GET{width})px;][height:(#GET{height})px]">
     52        <div id="slider_#GET{uniqid}" class="nivoSlider">
     53        <BOUCLE_doc(DOCUMENTS)
     54                {id_objet?}{objet?}
     55                {id_document?}
     56                {mode?}
     57                {extension IN png,jpg,gif}
     58                {par num titre,titre}
     59                {doublons}
     60                {vu?}
     61                {0,#ENV{limite,1000}}>
     62
     63                #SET{lien,''}
     64                [(#DESCRIPTIF|oui)
    3665                        [(#SET{lien,#VAL{'spip.php?'#DESCRIPTIF}|attribut_html|replace{' ',''}})]
    3766                        [(#SET{fancyornot,''})]
     
    4574                                [(#SET{lien, [(#DESCRIPTIF|textebrut)]})]
    4675                        })]
    47                         <a href="#GET{lien}" [class="(#GET{fancyornot})"]>
    48                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    49                         </a>
    50                 ]
    51         </BOUCLE_doc>
     76                ][
     77                <a href="(#GET{lien})" [class="(#GET{fancyornot})"]>
     78                ][(#FICHIER
     79                                |image_passe_partout{#GET{width},#GET{height}}
     80                                |image_recadre{#GET{width},#GET{height}}
     81                                |inserer_attribut{title,#TITRE}
     82                                |inserer_attribut{data-thumb,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}}
     83                )]
     84                [</a>(#GET{lien}|oui)
     85        ]</BOUCLE_doc>
    5286        </div>
    5387</div>
    54 <br style="clear:both"/>
    5588<script type="text/javascript">/*<![CDATA[*/
    5689        jQuery(function() {
    57                 $('#slider_#GET{id_rand}').nivoSlider({
     90                jQuery('#slider_#GET{uniqid}').nivoSlider({
    5891                        [effect:'(#GET{effect})',]
    5992                        [slices:(#GET{slices}),]
     
    6295                        [directionNav:(#GET{directionNav}),]
    6396                        [directionNavHide:(#GET{directionNavHide}),]
    64                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})
     97                        [(#GET{controlNavThumbs}|=={'false'}|oui)
    6598                                [controlNav:(#GET{controlNav}),]
    6699                        ]
    67100                        [keyboardNav:(#GET{keyboardNav}),]
    68101                        [pauseOnHover:(#GET{pauseOnHover}),]
    69                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
     102                        [(#GET{controlNavThumbs}|=={'true'}|oui)
    70103                                [controlNavThumbs:(#GET{controlNavThumbs}),]
    71                                 [controlNavThumbsFromRel:(#GET{controlNavThumbs}),]
    72104                        ]
    73105                        [captionOpacity:(#GET{captionOpacity})]
    74106                });
    75107        });
     108        [(#ENV{manuel}|=={oui}|oui)
     109        $('#slider_#GET{uniqid}').data('nivoslider').stop();
     110        ]
    76111/*]]>*/</script>
    77112</B_doc>
    78 
    79 
    80  
  • _plugins_/nivoslider/trunk/modeles/nivoslider_doc.html

    r54975 r75924  
    33 - Selon le modele CROCHET(# MODELE{nivoslider_doc}{id=.,.,..})CROCHET
    44]
    5 
    6 [(#SET{width,[(#ENV{width, #CONFIG{nivoslider/width, 500} })]} )]
    7 [(#SET{height,[(#ENV{height, #CONFIG{nivoslider/height, 240} })]} )]
    8 [(#SET{effect,[(#ENV{effect, #CONFIG{nivoslider/effect, random} })]} )]
    9 [(#SET{slices,[(#ENV{slices, #CONFIG{nivoslider/slices,15} })]} )]
    10 [(#SET{animSpeed,[(#ENV{animSpeed, #CONFIG{nivoslider/animSpeed,500} })]} )]
    11 [(#SET{pauseTime,[(#ENV{pauseTime, #CONFIG{nivoslider/pauseTime,3000} })]} )]
    12 [(#SET{directionNav,[(#ENV{directionNav, #CONFIG{nivoslider/directionNav,true} })]} )]
    13 [(#SET{directionNavHide,[(#ENV{directionNavHide, #CONFIG{nivoslider/directionNavHide,true} })]} )]
    14 [(#SET{controlNav,[(#ENV{controlNav, #CONFIG{nivoslider/controlNav,true} })]} )]
    15 [(#SET{keyboardNav,[(#ENV{keyboardNav, #CONFIG{nivoslider/keyboardNav,false} })]} )]
    16 [(#SET{pauseOnHover,[(#ENV{pauseOnHover, #CONFIG{nivoslider/pauseOnHover,true} })]} )]
    17 [(#SET{captionOpacity,[(#ENV{captionOpacity, #CONFIG{nivoslider/captionOpacity,0.8} })]} )]
    18 [(#SET{imageAlign,[(#ENV{imageAlign, #CONFIG{nivoslider/imageAlign,'center center'} })]} )]
    19 [(#SET{imageBackcolor,[(#ENV{imageBackcolor, #CONFIG{nivoslider/imageBackcolor,'transparent'} })]} )]
    20 [(#SET{controlNavThumbs,[(#ENV{controlNavThumbs, #CONFIG{nivoslider/controlNavThumbs,false} })]} )]
    21 [(#SET{controlNavThumbsWidth,[(#ENV{controlNavThumbsWidth, #CONFIG{nivoslider/controlNavThumbsWidth,50} })]} )]
    22 [(#SET{controlNavThumbsHeight,[(#ENV{controlNavThumbsHeight, #CONFIG{nivoslider/controlNavThumbsHeight,50} })]} )]
    23 
    24 [(#SET{id_rand, #VAL{1}|rand{1000}})]
    25 
    26 <B_doc>
    27 <div id='slider'style="[width:(#GET{width})px;][height:(#GET{height})px]">
    28         <div id="slider_#GET{id_rand}" class="nivoSlider">
    29         <BOUCLE_doc(DOCUMENTS){extension IN png,jpg,gif}{id_document==^((#ENV{id}|replace{',',|}|sinon{.*}))$}{par num titre, date}{doublons}>
    30                 [(#DESCRIPTIF|?{'',' '})
    31                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height},#GET{imageAlign},#GET{imageBackcolor}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    32                 ]
    33                 [(#DESCRIPTIF|?{' ',''})
    34                         [(#SET{lien,#VAL{'spip.php?'#DESCRIPTIF}|attribut_html|replace{' ',''}})]
    35                         [(#SET{fancyornot,''})]
    36                         [(#DESCRIPTIF|match{doc}|=={doc}|?{
    37                                 [(#PLUGIN{FANCYBOX}|oui)
    38                                         [(#SET{fancyornot, [(#CONFIG{fancybox/selecteur_commun,'.fancybox'}|replace{'\.',''})]})]
    39                                 ]
    40                                 [(#SET{lien, #URL_DOCUMENT})]
    41                         })]
    42                         [(#DESCRIPTIF|match{http}|=={http}|?{
    43                                 [(#SET{lien, [(#DESCRIPTIF|textebrut)]})]
    44                         })]
    45                         <a href="#GET{lien}" [class="(#GET{fancyornot})"]>
    46                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    47                         </a>
    48                 ]
    49         </BOUCLE_doc>
    50         </div>
    51 </div>
    52 <br style="clear:both"/>
    53         <script type="text/javascript">/*<![CDATA[*/
    54                 jQuery(function() {
    55                 $('#slider_#GET{id_rand}').nivoSlider({
    56                         [effect:'(#GET{effect})',]
    57                         [slices:(#GET{slices}),]
    58                         [animSpeed:(#GET{animSpeed}),]
    59                         [pauseTime:(#GET{pauseTime}),]
    60                         [directionNav:(#GET{directionNav}),]
    61                         [directionNavHide:(#GET{directionNavHide}),]
    62                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})
    63                                 [controlNav:(#GET{controlNav}),]
    64                         ]
    65                         [keyboardNav:(#GET{keyboardNav}),]
    66                         [pauseOnHover:(#GET{pauseOnHover}),]
    67                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
    68                                 [controlNavThumbs:(#GET{controlNavThumbs}),]
    69                                 [controlNavThumbsFromRel:(#GET{controlNavThumbs}),]
    70                         ]
    71                         [captionOpacity:(#GET{captionOpacity})]
    72                 });
    73         });
    74 /*]]>*/</script>
    75 </B_doc>
     5<INCLURE{fond=modeles/nivoslider_base,env,id_document=#ENV{id}|explode{','}} />
  • _plugins_/nivoslider/trunk/modeles/nivoslider_rub.html

    r54975 r75924  
    1 #INCLURE{fond=modeles/rubrique_nivoslider,env,id_rubrique=#ENV{id_nivoslider_rub}}
     1<INCLURE{fond=modeles/nivoslider_base,env,id_objet=#GET{id_nivoslider_rub},objet=rubrique} />
  • _plugins_/nivoslider/trunk/modeles/rubrique_nivoslider.html

    r54975 r75924  
    44]
    55
    6 [(#SET{id_rubrique,[(#ENV{id_nivoslider_rub, #CONFIG{nivoslider/id_defaut, 0} })]} )]
    7 
    8 [(#SET{width,[(#ENV{width, #CONFIG{nivoslider/width, 500} })]} )]
    9 [(#SET{height,[(#ENV{height, #CONFIG{nivoslider/height, 240} })]} )]
    10 [(#SET{effect,[(#ENV{effect, #CONFIG{nivoslider/effect, random} })]} )]
    11 [(#SET{slices,[(#ENV{slices, #CONFIG{nivoslider/slices,15} })]} )]
    12 [(#SET{animSpeed,[(#ENV{animSpeed, #CONFIG{nivoslider/animSpeed,500} })]} )]
    13 [(#SET{pauseTime,[(#ENV{pauseTime, #CONFIG{nivoslider/pauseTime,3000} })]} )]
    14 [(#SET{directionNav,[(#ENV{directionNav, #CONFIG{nivoslider/directionNav,true} })]} )]
    15 [(#SET{directionNavHide,[(#ENV{directionNavHide, #CONFIG{nivoslider/directionNavHide,true} })]} )]
    16 [(#SET{controlNav,[(#ENV{controlNav, #CONFIG{nivoslider/controlNav,true} })]} )]
    17 [(#SET{keyboardNav,[(#ENV{keyboardNav, #CONFIG{nivoslider/keyboardNav,false} })]} )]
    18 [(#SET{pauseOnHover,[(#ENV{pauseOnHover, #CONFIG{nivoslider/pauseOnHover,true} })]} )]
    19 [(#SET{captionOpacity,[(#ENV{captionOpacity, #CONFIG{nivoslider/captionOpacity,0.8} })]} )]
    20 [(#SET{imageAlign,[(#ENV{imageAlign, #CONFIG{nivoslider/imageAlign,'center'} })]} )]
    21 [(#SET{imageBackcolor,[(#ENV{imageBackcolor, #CONFIG{nivoslider/imageBackcolor,'transparent'} })]} )]
    22 [(#SET{controlNavThumbs,[(#ENV{controlNavThumbs, #CONFIG{nivoslider/controlNavThumbs,false} })]} )]
    23 [(#SET{controlNavThumbsWidth,[(#ENV{controlNavThumbsWidth, #CONFIG{nivoslider/controlNavThumbsWidth,50} })]} )]
    24 [(#SET{controlNavThumbsHeight,[(#ENV{controlNavThumbsHeight, #CONFIG{nivoslider/controlNavThumbsHeight,50} })]} )]
    25 
    26 [(#SET{id_rand, #VAL{1}|rand{1000}})]
    27 
    28 <B_doc>
    29 <div id='slider' style="[width:(#GET{width})px;][height:(#GET{height})px]">
    30         <div id="slider_#GET{id_rand}" class="nivoSlider">
    31         <BOUCLE_doc(DOCUMENTS){mode=document}{id_rubrique=#GET{id_rubrique}}{extension IN png,jpg,gif}{par num titre}>
    32                 [(#DESCRIPTIF|?{'',' '})
    33                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height},#GET{imageAlign},#GET{imageBackcolor}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    34                 ]
    35                 [(#DESCRIPTIF|?{' ',''})
    36                         [(#SET{lien,#VAL{'spip.php?'#DESCRIPTIF}|attribut_html|replace{' ',''}})]
    37                         [(#SET{fancyornot,''})]
    38                         [(#DESCRIPTIF|match{doc}|=={doc}|?{
    39                                 [(#PLUGIN{FANCYBOX}|oui)
    40                                         [(#SET{fancyornot, [(#CONFIG{fancybox/selecteur_commun,'.fancybox'}|replace{'\.',''})]})]
    41                                 ]
    42                                 [(#SET{lien, #URL_DOCUMENT})]
    43                         })]
    44                         [(#DESCRIPTIF|match{http}|=={http}|?{
    45                                 [(#SET{lien, [(#DESCRIPTIF|textebrut)]})]
    46                         })]
    47                         <a href="#GET{lien}" [class="(#GET{fancyornot})"]>
    48                         [(#FICHIER|image_passe_partout{#GET{width},#GET{height}}|image_recadre{#GET{width},#GET{height}}|inserer_attribut{title,[(#TITRE|supprimer_numero)]}|inserer_attribut{rel,#FICHIER|image_reduire{#GET{controlNavThumbsWidth},#GET{controlNavThumbsHeight}}|extraire_attribut{src}})]
    49                         </a>
    50                 ]
    51         </BOUCLE_doc>
    52         </div>
    53 </div>
    54 <br style="clear:both"/>
    55 <script type="text/javascript">/*<![CDATA[*/
    56         jQuery(function() {
    57                 $('#slider_#GET{id_rand}').nivoSlider({
    58                         [effect:'(#GET{effect})',]
    59                         [slices:(#GET{slices}),]
    60                         [animSpeed:(#GET{animSpeed}),]
    61                         [pauseTime:(#GET{pauseTime}),]
    62                         [directionNav:(#GET{directionNav}),]
    63                         [directionNavHide:(#GET{directionNavHide}),]
    64                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'false'}|?{' ',''})
    65                                 [controlNav:(#GET{controlNav}),]
    66                         ]
    67                         [keyboardNav:(#GET{keyboardNav}),]
    68                         [pauseOnHover:(#GET{pauseOnHover}),]
    69                         [(#CONFIG{nivoslider/controlNavThumbs}|=={'true'}|?{' ',''})
    70                                 [controlNavThumbs:(#GET{controlNavThumbs}),]
    71                                 [controlNavThumbsFromRel:(#GET{controlNavThumbs}),]
    72                         ]
    73                         [captionOpacity:(#GET{captionOpacity})]
    74                 });
    75         });
    76 /*]]>*/</script>
    77 </B_doc>
     6[(#SET{id_rubrique,[(#ENV{id_rubrique, #CONFIG{nivoslider/id_defaut, 0} })]} )]
     7<INCLURE{fond=modeles/nivoslider_base,env,id_objet=#GET{id_rubrique},objet=rubrique} />
  • _plugins_/nivoslider/trunk/paquet.xml

    r68951 r75924  
    22        prefix="nivoslider"
    33        categorie="multimedia"
    4         version="2.0.1"
    5         etat="test"
     4        version="3.0.0"
     5        etat="dev"
    66        compatibilite="[3.0.0-dev;3.0.*]"
    77        logo="images/nivoslider-32.png"
Note: See TracChangeset for help on using the changeset viewer.