我一直在剖析firebug中的事件和ui对象,但它似乎没有任何我可以使用的东西。我是不是遗漏了什么?我想我可以跟踪值的变化,但这似乎是一件杂七杂八的事情。
$(".selector").slider({
slide: function(event, ui){
// I need to tell if the slide is left-to-right or right-to-left here.
}
});
谢谢!杰森
发布于 2011-05-17 19:34:40
如果想要获得方向(值减小或增大),只需使用start和slide事件。在触发start事件时,将初始值存储在变量中。在此之后,只需将该存储值与滑动事件创建的值进行比较。
只是组合不同的事件。
编辑前的:
使用documented getter
var orientation = $( ".selector" ).slider( "option", "orientation" );
此选项确定滑块的最小值是在左侧,最大值在右侧,还是最小值在底部,最大值在顶部。可能的值:‘水平’,‘垂直’。
发布于 2012-10-05 14:22:42
对于每个想知道如何解决这个问题的人,我找到了一个解决方案:
从包含幻灯片的两个全局变量开始。我的滑块总是从0开始,从左到右,所以第一个nexSlide wikll是1。现在你可以简单地比较这两个,看看你在滑动哪个方向。此方法最有效,因为它可以在不停止幻灯片的情况下检测方向的变化。
var currentSlide = 0; var nextSlide = 1;
jQuery( "#slider" ).bind( "slide", function(event, ui) {
currentSlide = jQuery('#slider').slider('value');
nextSlide = ui.value;
});
发布于 2013-03-01 07:11:35
简单的解决方案是简单地使用负范围(而不是1 -10使用- 10,-1
$("#slider-roomsrange").slider({
range: true,
min: -10,
max: -1,
step: -.5,
values: [-3, -1],
slide: function (event, ui) {
$("#roomsfrom").val((ui.values[0]*-1));
$("#roomsto").val((ui.values[1]*-1));
// $("#rooms").val(ui.values[1] + " - " + ui.values[0]);
}
});
我使用*-1和works gret将值反转为正。
*我目前唯一的问题是步长是1,而不是我预期的.5。
https://stackoverflow.com/questions/6036096
复制相似问题