2013-10-25 109 views
0

我使用this JQuery插件,我希望能够动态地加载插件的配置,而不是从插件文件进行更改,这里是插件的选项:负载jQuery插件配置动态

 $.Slitslider.defaults = { 
      // transitions speed 
      speed : 800, 
      // if true the item's slices will also animate the opacity value 
      optOpacity : false, 
      // amount (%) to translate both slices - adjust as necessary 
      translateFactor : 230, 
      // maximum possible angle 
      maxAngle : 25, 
      // maximum possible scale 
      maxScale : 2, 
      // slideshow on/off 
      autoplay : false, 
      // keyboard navigation 
      keyboard : true, 
      // time between transitions 
      interval : 4000, 
      // callbacks 
      onBeforeChange : function(slide, idx) { return false; }, 
      onAfterChange : function(slide, idx) { return false; } 
    }; 

在他们的演示文件中,他们给这个代码:

<script type="text/javascript">   
        $(function() { 

          var Page = (function() { 

            var $nav = $('#nav-dots > span'), 
              slitslider = $('#slider').slitslider({ 
                onBeforeChange : function(slide, pos) { 

                  $nav.removeClass('nav-dot-current'); 
                  $nav.eq(pos).addClass('nav-dot-current'); 

                } 
              }), 

              init = function() { 

                initEvents(); 

              }, 
              initEvents = function() { 

                $nav.each(function(i) { 

                  $(this).on('click', function(event) { 

                    var $dot = $(this); 

                    if(!slitslider.isActive()) { 

                      $nav.removeClass('nav-dot-current'); 
                      $dot.addClass('nav-dot-current'); 

                    } 

                    slitslider.jump(i + 1); 
                    return false; 

                  }); 

                }); 

              }; 

              return { init : init }; 

          })(); 

          Page.init(); 


        }); 
      </script> 

所以我只是希望能够从一个php文件动态加载插件的配置,我找到的唯一的解决办法是改变从选项插件文件它自我,所以我需要加载所有的文件与PHP文件的脚本HTML标记!这是我觉得一个坏的解决方案,并为确保有一个清洁的解决方案

谢谢

回答

0

我找到了解决办法:

 <script type="text/javascript"> 
     $(function() { 

      var Page = (function() { 

       var $nav = $('#nav-dots > span'), 
        slitslider = $('#slider').slitslider({ 
         onBeforeChange : function(slide, pos) { 

          $nav.removeClass('nav-dot-current'); 
          $nav.eq(pos).addClass('nav-dot-current'); 

         }, 

         autoplay : true, 

         /* parameters goes here */ 
        }), 
...... 
</script>