Jquery ui slider jQueryUI滑块未滚动div
我是jquery的新手,如果这是一个冗长的问题,我深表歉意。下面是我为滚动包含图像列表的div而设计的水平滑块。 结果是滑块没有滚动div。任何帮助都会很好Jquery ui slider jQueryUI滑块未滚动div,jquery-ui-slider,Jquery Ui Slider,我是jquery的新手,如果这是一个冗长的问题,我深表歉意。下面是我为滚动包含图像列表的div而设计的水平滑块。 结果是滑块没有滚动div。任何帮助都会很好 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var slideDrag,
slideWidth = 330,
slideSpeed = 200;
animated = false;
$(".scroll-slider").slider({
animate: slideSpeed,
start: checkType,
slide: doSlide,
max: slideWidth
});
// Set each slider to a value
$(".scroll-slider").each(function(index){
$(this).slider("value", 330 / 5 * index);
});
// You can also change a slider at any time like so:
// $(".scroll-slider:eq(0)").slider("value", value);
//
// That would move the first slider to a value, along with its content
function checkType(e){
slideDrag = $(e.originalEvent.target).hasClass("ui-slider-handle");
}
function doSlide(e, ui){
var target = $(e.target).prev(".scroll-content"),
// If sliders were above the content instead of below, we'd use:
// target = $(e.target).next(".scroll-content")
maxScroll = target.attr("scrollWidth") - target.width();
// Need to check type now to prevent the new change handler from firing twice when user clicks on slider,
// because both 'slide' and 'change' events are fired on a click, but only a 'change' when setting slider
// value manually via code.
if (e.type == 'slide'){
// Was it a click or drag?
if (slideDrag === true){
// User dragged slider head, match position
target.attr({scrollLeft: ui.value * (maxScroll / slideWidth) });
}
else{
// User clicked on slider itself, animate to position
target.stop().animate({scrollLeft: ui.value * (maxScroll / slideWidth) }, slideSpeed);
}
animated = true;
}
else{
if (animated === false){
target.stop().animate({scrollLeft: ui.value * (maxScroll / slideWidth) }, slideSpeed);
}
animated = false;
}
}
});
</script>
</script>
<style>
/* Styling the scroll elements */
.scroll-container{padding-bottom:30px}
.scroll-content{width:330px;height:110px;overflow:hidden;margin-bottom:10px}
.scroll-content ul{
width:880px;
height:110px;
margin-bottom:5px
}
.scroll-content li{
float:left;
}
.ui-slider .ui-slider-handle{width:16px;height:12px;position:absolute;top:-3px;background:#234786;border:none}
</style>
<body>
<div id="wrapper">
<h2>Multiple Slider Control Demo</h2>
<div id="left">
<div class="scroll-container">
<div class="scroll-content">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
</div>
</div>
<div class="scroll-slider"></div>
</div>
</div>
$(文档).ready(函数(){
var slideDrag,
滑动宽度=330,
滑动速度=200;
动画=假;
$(“.scroll slider”).slider({
动画:幻灯片播放,
开始:checkType,
幻灯片:多斯利德,
最大:滑动宽度
});
//将每个滑块设置为一个值
$(“.scroll slider”)。每个(函数(索引){
$(此).slider(“值”,330/5*索引);
});
//您也可以随时更改滑块,如下所示:
//$(“.scroll slider:eq(0)”).slider(“value”,value);
//
//这会将第一个滑块连同其内容一起移动到某个值
功能检查类型(e){
slideDrag=$(e.originalEvent.target).hasClass(“ui滑块句柄”);
}
函数doSlide(e,ui){
var target=$(e.target).prev(“.scroll content”),
//如果滑块位于内容上方而不是下方,我们将使用:
//target=$(e.target).next(“.scroll content”)
maxScroll=target.attr(“scrollWidth”)-target.width();
//现在需要检查类型,以防止新的更改处理程序在用户单击滑块时触发两次,
//因为“slide”和“change”事件都是在单击时触发的,但在设置slider时仅触发“change”
//通过代码手动输入值。
如果(e.type=='slide'){
//是点击还是拖动?
如果(slideDrag==真){
//用户拖动滑块头,匹配位置
attr({scrollLeft:ui.value*(maxScroll/slideWidth)});
}
否则{
//用户单击滑块本身,设置动画以定位
target.stop().animate({scrollLeft:ui.value*(maxScroll/slideWidth)},slideSpeed);
}
动画=真;
}
否则{
如果(动画===false){
target.stop().animate({scrollLeft:ui.value*(maxScroll/slideWidth)},slideSpeed);
}
动画=假;
}
}
});
/*设置滚动元素的样式*/
.scroll容器{填充底部:30px}
.滚动内容{宽度:330px;高度:110px;溢出:隐藏;页边距底部:10px}
.滚动内容{
宽度:880px;
高度:110px;
下页边距:5px
}
.滚动内容李{
浮动:左;
}
.ui滑块.ui滑块句柄{宽度:16px;高度:12px;位置:绝对;顶部:-3px;背景:#234786;边框:无}
多滑块控制演示
- 一,
- 二,
- 三,
- 四,
- 五,
- 六,
- 七,
- 八,
您是否正在尝试使用此演示
我也犯了同样的错误,用演示中使用的版本替换了我使用的
jQuery
,它成功了。您是否查看了jQuery UI页面上的现成示例?-->