Skip to main content
 首页 » 编程设计

jquery之如何使用 Sly Scroller jQuery 基于项目的导航

2026年05月17日35开发

我正在尝试利用Sly Scroller用于水平滚动。我尝试阅读和理解文档,但我只是不明白如何使用它。

任何人都可以帮助我开始使用比阅读文档更简单的示例,甚至指定任何 jsfiddle 实现或有关该主题的教程吗?

请您参考如下方法:

在给你一个例子之前,我想让你精确地描述一下你的环境(例如,你使用的是 php 框架吗?) 首先,您要确保您已对这些脚本进行了收费: 1-[jquery 1.7] 或 > 2- sly.min.js 3-modernizr.js

。 提示:你可以使用凉亭 接下来你必须添加这个脚本

<script type="text/javascript"> 
 
 
            jQuery(function($) { 
                  'use strict'; 
 
                  // ------------------------------------------------------------- 
                  //   Basic Navigation 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#basic'); 
                    var $slidee = $frame.children('ul').eq(0); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'basic', 
                      smart: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 3, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      pagesBar: $wrap.find('.pages'), 
                      activatePageOn: 'click', 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Buttons 
                      forward: $wrap.find('.forward'), 
                      backward: $wrap.find('.backward'), 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next'), 
                      prevPage: $wrap.find('.prevPage'), 
                      nextPage: $wrap.find('.nextPage') 
                    }); 
 
                    // To Start button 
                    $wrap.find('.toStart').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the start of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toStart', item); 
                    }); 
 
                    // To Center button 
                    $wrap.find('.toCenter').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the center of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toCenter', item); 
                    }); 
 
                    // To End button 
                    $wrap.find('.toEnd').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the end of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toEnd', item); 
                    }); 
 
                    // Add item 
                    $wrap.find('.add').on('click', function() { 
                      $frame.sly('add', '<li>' + $slidee.children().length + '</li>'); 
                    }); 
 
                    // Remove item 
                    $wrap.find('.remove').on('click', function() { 
                      $frame.sly('remove', -1); 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   Centered Navigation 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#centered'); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'centered', 
                      smart: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 4, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Buttons 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next') 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   Force Centered Navigation 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#forcecentered'); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'forceCentered', 
                      smart: 1, 
                      activateMiddle: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 0, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Buttons 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next') 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   Cycle By Items 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#cycleitems'); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'basic', 
                      smart: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 0, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Cycling 
                      cycleBy: 'items', 
                      cycleInterval: 1000, 
                      pauseOnHover: 1, 
 
                      // Buttons 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next') 
                    }); 
 
                    // Pause button 
                    $wrap.find('.pause').on('click', function() { 
                      $frame.sly('pause'); 
                    }); 
 
                    // Resume button 
                    $wrap.find('.resume').on('click', function() { 
                      $frame.sly('resume'); 
                    }); 
 
                    // Toggle button 
                    $wrap.find('.toggle').on('click', function() { 
                      $frame.sly('toggle'); 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   Cycle By Pages 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#cyclepages'); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'basic', 
                      smart: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 0, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      pagesBar: $wrap.find('.pages'), 
                      activatePageOn: 'click', 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Cycling 
                      cycleBy: 'pages', 
                      cycleInterval: 1000, 
                      pauseOnHover: 1, 
                      startPaused: 1, 
 
                      // Buttons 
                      prevPage: $wrap.find('.prevPage'), 
                      nextPage: $wrap.find('.nextPage') 
                    }); 
 
                    // Pause button 
                    $wrap.find('.pause').on('click', function() { 
                      $frame.sly('pause'); 
                    }); 
 
                    // Resume button 
                    $wrap.find('.resume').on('click', function() { 
                      $frame.sly('resume'); 
                    }); 
 
                    // Toggle button 
                    $wrap.find('.toggle').on('click', function() { 
                      $frame.sly('toggle'); 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   One Item Per Frame 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#oneperframe'); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'forceCentered', 
                      smart: 1, 
                      activateMiddle: 1, 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 0, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Buttons 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next') 
                    }); 
                  }()); 
 
                  // ------------------------------------------------------------- 
                  //   Crazy 
                  // ------------------------------------------------------------- 
                  (function() { 
                    var $frame = $('#crazy'); 
                    var $slidee = $frame.children('ul').eq(0); 
                    var $wrap = $frame.parent(); 
 
                    // Call Sly on frame 
                    $frame.sly({ 
                      horizontal: 1, 
                      itemNav: 'basic', 
                      smart: 1, 
                      activateOn: 'click', 
                      mouseDragging: 1, 
                      touchDragging: 1, 
                      releaseSwing: 1, 
                      startAt: 3, 
                      scrollBar: $wrap.find('.scrollbar'), 
                      scrollBy: 1, 
                      pagesBar: $wrap.find('.pages'), 
                      activatePageOn: 'click', 
                      speed: 300, 
                      elasticBounds: 1, 
                      easing: 'easeOutExpo', 
                      dragHandle: 1, 
                      dynamicHandle: 1, 
                      clickBar: 1, 
 
                      // Buttons 
                      forward: $wrap.find('.forward'), 
                      backward: $wrap.find('.backward'), 
                      prev: $wrap.find('.prev'), 
                      next: $wrap.find('.next'), 
                      prevPage: $wrap.find('.prevPage'), 
                      nextPage: $wrap.find('.nextPage') 
                    }); 
 
                    // To Start button 
                    $wrap.find('.toStart').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the start of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toStart', item); 
                    }); 
 
                    // To Center button 
                    $wrap.find('.toCenter').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the center of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toCenter', item); 
                    }); 
 
                    // To End button 
                    $wrap.find('.toEnd').on('click', function() { 
                      var item = $(this).data('item'); 
                      // Animate a particular item to the end of the frame. 
                      // If no item is provided, the whole content will be animated. 
                      $frame.sly('toEnd', item); 
                    }); 
 
                    // Add item 
                    $wrap.find('.add').on('click', function() { 
                      $frame.sly('add', '<li>' + $slidee.children().length + '</li>'); 
                    }); 
 
                    // Remove item 
                    $wrap.find('.remove').on('click', function() { 
                      $frame.sly('remove', -1); 
                    }); 
                  }()); 
                }); 
    </script> 

正如您在上一个脚本中看到的,有多个导航,您只需在此处的 html 部分中选择其中一个即可

    <div class="frame" id="cycleitems">// you have to put in the id the animation that you like 
        <ul class="clearfix"> 
 
           <!-- please insert inside the li tag what you want to put inside the sly scroller :D --> 
 
           <li> some code here for example <img src ="blabla" /> </li> 
           <li> some code here for example <img src ="blabla" /> </li> 
           <li> some code here for example <img src ="blabla" /> </li> 
        </ul></div> 

最后是 css 部分:

    .crazy ul li:nth-child(2n) { 
      width: 100px; 
      margin: 0 4px 0 20px; 
    } 
 
    .crazy ul li:nth-child(3n) { 
      width: 300px; 
      margin: 0 10px 0 5px; 
    } 
 
    .crazy ul li:nth-child(4n) { 
      width: 400px; 
      margin: 0 30px 0 2px; 
    } 

如果您有任何其他问题,请随时询问:)