2013-02-27 60 views
1

我正在尝试从这里的示例jqueryhttp://jqueryui.com/slider/#side-scroll 我复制源代码在“查看源代码”,当我运行它时,它看起来几乎相同,但它显示原生滚动条而不是显示在网站上的自定义滚动条。jQuery自定义滚动条滑块示例

任何人都可以帮助我如何获得这些自定义滚动条?

我为了方便的源代码:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>jQuery UI Slider - Slider scrollbar</title> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
    <style> 
    .scroll-pane { overflow: auto; width: 99%; float:left; } 
    .scroll-content { width: 2440px; float: left; } 
    .scroll-content-item { width: 100px; height: 100px; float: left; margin: 10px; font-size: 3em; line-height: 96px; text-align: center; } 
    .scroll-bar-wrap { clear: left; padding: 0 4px 0 2px; margin: 0 -1px -1px -1px; } 
    .scroll-bar-wrap .ui-slider { background: none; border:0; height: 2em; margin: 0 auto; } 
    .scroll-bar-wrap .ui-handle-helper-parent { position: relative; width: 100%; height: 100%; margin: 0 auto; } 
    .scroll-bar-wrap .ui-slider-handle { top:.2em; height: 1.5em; } 
    .scroll-bar-wrap .ui-slider-handle .ui-icon { margin: -8px auto 0; position: relative; top: 50%; } 
    </style> 
    <script> 
    $(function() { 
    //scrollpane parts 
    var scrollPane = $(".scroll-pane"), 
     scrollContent = $(".scroll-content"); 

    //build slider 
    var scrollbar = $(".scroll-bar").slider({ 
     slide: function(event, ui) { 
     if (scrollContent.width() > scrollPane.width()) { 
      scrollContent.css("margin-left", Math.round(
      ui.value/100 * (scrollPane.width() - scrollContent.width()) 
     ) + "px"); 
     } else { 
      scrollContent.css("margin-left", 0); 
     } 
     } 
    }); 

    //append icon to handle 
    var handleHelper = scrollbar.find(".ui-slider-handle") 
    .mousedown(function() { 
     scrollbar.width(handleHelper.width()); 
    }) 
    .mouseup(function() { 
     scrollbar.width("100%"); 
    }) 
    .append("<span class='ui-icon ui-icon-grip-dotted-vertical'></span>") 
    .wrap("<div class='ui-handle-helper-parent'></div>").parent(); 

    //change overflow to hidden now that slider handles the scrolling 
    scrollPane.css("overflow", "hidden"); 

    //size scrollbar and handle proportionally to scroll distance 
    function sizeScrollbar() { 
     var remainder = scrollContent.width() - scrollPane.width(); 
     var proportion = remainder/scrollContent.width(); 
     var handleSize = scrollPane.width() - (proportion * scrollPane.width()); 
     scrollbar.find(".ui-slider-handle").css({ 
     width: handleSize, 
     "margin-left": -handleSize/2 
     }); 
     handleHelper.width("").width(scrollbar.width() - handleSize); 
    } 

    //reset slider value based on scroll content position 
    function resetValue() { 
     var remainder = scrollPane.width() - scrollContent.width(); 
     var leftVal = scrollContent.css("margin-left") === "auto" ? 0 : 
     parseInt(scrollContent.css("margin-left")); 
     var percentage = Math.round(leftVal/remainder * 100); 
     scrollbar.slider("value", percentage); 
    } 

    //if the slider is 100% and window gets larger, reveal content 
    function reflowContent() { 
     var showing = scrollContent.width() + parseInt(scrollContent.css("margin-left"), 10); 
     var gap = scrollPane.width() - showing; 
     if (gap > 0) { 
      scrollContent.css("margin-left", parseInt(scrollContent.css("margin-left"), 10) + gap); 
     } 
    } 

    //change handle position on window resize 
    $(window).resize(function() { 
     resetValue(); 
     sizeScrollbar(); 
     reflowContent(); 
    }); 
    //init scrollbar size 
    setTimeout(sizeScrollbar, 10);//safari wants a timeout 
    }); 
    </script> 
</head> 
<body> 

<div class="scroll-pane ui-widget ui-widget-header ui-corner-all"> 
    <div class="scroll-content"> 
    <div class="scroll-content-item ui-widget-header">1</div> 
    <div class="scroll-content-item ui-widget-header">2</div> 
    <div class="scroll-content-item ui-widget-header">3</div> 
    <div class="scroll-content-item ui-widget-header">4</div> 
    <div class="scroll-content-item ui-widget-header">5</div> 
    <div class="scroll-content-item ui-widget-header">6</div> 
    <div class="scroll-content-item ui-widget-header">7</div> 
    <div class="scroll-content-item ui-widget-header">8</div> 
    <div class="scroll-content-item ui-widget-header">9</div> 
    <div class="scroll-content-item ui-widget-header">10</div> 
    <div class="scroll-content-item ui-widget-header">11</div> 
    <div class="scroll-content-item ui-widget-header">12</div> 
    <div class="scroll-content-item ui-widget-header">13</div> 
    <div class="scroll-content-item ui-widget-header">14</div> 
    <div class="scroll-content-item ui-widget-header">15</div> 
    <div class="scroll-content-item ui-widget-header">16</div> 
    <div class="scroll-content-item ui-widget-header">17</div> 
    <div class="scroll-content-item ui-widget-header">18</div> 
    <div class="scroll-content-item ui-widget-header">19</div> 
    <div class="scroll-content-item ui-widget-header">20</div> 
    </div> 
    <div class="scroll-bar-wrap ui-widget-content ui-corner-bottom"> 
    <div class="scroll-bar"></div> 
    </div> 
</div> 


</body> 
</html> 

回答