Posted in Javascript onFebruary 24, 2011
查找了很多方法,有些不能实现(被滚动内容的宽度未知,但使用这种方法必须已知),其它的不能完全兼容这些浏览器(IE6,Firefox,Chrome)。最后决定使用JQuery的Slider控件。
1. 下载jquery-1.3.2.min.js,jquery-ui-1.7.1.custom.min.js
2. Html
<div id="topslider" runat="server"></div> <div id="scroll" runat="server"> <div id="holder"> 滚动内容 </div> <div id="bottomslider" style="margin-top:10px;margin-bottom:10px;" runat="server"></div>
3. css
<style> #topslider { width: 98%; height: 6px; background: #BBBBBB; position: relative; } #bottomslider { width: 98%; height: 6px; background: #BBBBBB; position: relative; } .ui-slider-handle { width: 8px; height: 14px; position: absolute; top: -4px; background: #478AFF; border: solid 1px black; } #scroll { width: 100%; margin-top: 10px; overflow: hidden; } #holder { width: 100%; } </style>
4. js
<script type="text/javascript" src="JavaScript/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="JavaScript/jquery-ui-1.7.1.custom.min.js"></script> $(document).ready(function(){ $("#topslider").slider({ animate: true, change: handleSliderChange, slide: handleSliderSlide, stop:handleTopSliderStop }); $("#bottomslider").slider({ animate: true, change: handleSliderChange, slide: handleSliderSlide, stop:handleBottomSliderStop }); }); function handleSliderChange(e, ui) { var maxScroll = $("#scroll").attr("scrollWidth") - $("#scroll").width(); $("#scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 1000); } function handleSliderSlide(e, ui) { var maxScroll = $("#scroll").attr("scrollWidth") - $("#scroll").width(); $("#scroll").attr({scrollLeft: ui.value * (maxScroll / 100) }); } function handleTopSliderStop(e, ui) { $("#bottomslider").slider('value',$("#topslider").slider('value')); } function handleBottomSliderStop(e, ui) { $("#topslider").slider('value',$("#bottomslider").slider('value')); }
基于jquery的横向滚动条(滑动条)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@