我一直在剖析Firebug中的事件和UI对象,但它似乎没有我可以使用的东西。我错过了什么吗?我想我可以跟踪值的变化,但这似乎是一个难题。
$(".selector").slider({
slide: function(event, ui){
// I need to tell if the slide is left-to-right or right-to-left here.
}
});
谢谢!杰森
对于想知道如何解决这个问题的每个人,我刚刚找到了一个解决方案:
从包含幻灯片的两个全局变量开始。我的滑块总是从 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;
});
如果要获取方向(值减小或增加),只需使用开始和滑动事件即可。触发启动事件时,将初始值存储在变量中。之后,只需将此存储值与滑动事件创建的值进行比较即可。
只需结合不同的事件。
编辑前:
使用记录的吸气剂
var orientation = $( ".selector" ).slider( "option", "orientation" );
此选项确定是否 滑块的最小值位于左侧,即 右侧的最大值或右侧的最小值 底部,顶部的最大值。可能 值:"水平"、"垂直"。
简单的解决方案是简单地使用负范围(而不是 [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 将值反转为正值并工作 gret。
*我目前唯一的问题是步长是 1 而不是我预期的 .5。