我一直在用萤火虫解剖事件和ui对象,但它似乎没有任何我可以使用的东西。我错过了什么吗?我想我可以跟踪价值变化,但这看起来像是一块污泥。
$(".selector").slider({
slide: function(event, ui){
// I need to tell if the slide is left-to-right or right-to-left here.
}
});
谢谢! 杰森
答案 0 :(得分:3)
对于每个想知道如何解决这个问题的人,我刚刚找到了解决方案:
开始使用包含幻灯片开头的两个全局变量。我的滑块始终从0开始并从左向右移动,因此第一个nexSlide将为1.现在您可以简单地比较两者以查看您滑动的方向。这种方法效率最高,因为它可以在不停止滑动的情况下检测方向变化。
var currentSlide = 0; var nextSlide = 1;
jQuery( "#slider" ).bind( "slide", function(event, ui) {
currentSlide = jQuery('#slider').slider('value');
nextSlide = ui.value;
});
答案 1 :(得分:0)
如果您想获得方向(值减少或增加),请使用start和slide事件。触发start事件时,将初始值存储在变量中。之后,只需将此存储值与滑动事件创建的值进行比较。
只需组合不同的活动。
编辑前:
使用documented getter
var orientation = $( ".selector" ).slider( "option", "orientation" );
此选项确定是否 滑块左边的分钟, 最大值在右边或最小值在 底部,最高位于顶部。可能 值:'水平','垂直'。
答案 2 :(得分:0)
简单的解决方案就是使用负范围(而不是[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。