UI滑块显示鼠标上移前后移动值的差异
ui slider shows difference between moved value before and after mouse goes up
请帮助我这个jquery-ui-slider!工具提示中的时间值是用初始时间值创建的;通过鼠标从A移动到B的方式改变数值;在鼠标上升之前的B处,该值与之后显示的值不同;换句话说,脚本在滑动和停止以及鼠标上升时生成两个值;鼠标向上移动后的位置B值与位置B结束值略有不同;
一个可能的解决方案:替换。slider("values", 0)…与ui.values [0]jQuery UI Slider - 'Event on release不同于'change'值
是一个解决方案,我们如何为这个滑动条做这个?有人有什么主意吗?请帮助!
//jquery UI slider with two tooltip显示秒
$(function() { var initialTime1 = 28800; var initialTime2 = 57600;
//带有html-tooltip和以秒为单位的值的对象
var valtooltip = function(sliderObj, ui){ val1 = '<span class="slider-tip">'+sliderObj.slider("values", 0) + '</span>'; val2 = '<span class="slider-tip">'+sliderObj.slider("values", 1) + '</span>'; sliderObj.find('.ui-slider-handle:first').html(val1); sliderObj.find('.ui-slider-handle:last').html(val2); }; $("#slider_time").slider({ min: 0, max: 86400, step: 300, // 300s steps values: [initialTime1, initialTime2], range: true, // two sides create: function(event,ui){ valtooltip($(this),ui); }, slide: function(event,ui){ valtooltip($(this),ui); // values for hidden inputs for (var i = 0; i < ui.values.length; ++i) { //values for tooltip 0 and 1 $(".sliderValue[data-index=" + i + "]").val( ui.values[i]); //values for value in hidden inputs $(".sliderValue[data-index=" + i + "]").attr('value', ui.values[i]); } }, stop: function(event,ui){ valtooltip($(this),ui); } }); });
您可以使用ui.values[0]
来设置滑块,但是在创建控件时需要使用.slider("values", 0)
来设置,因为ui。Values未定义。我做了一个简单的小提琴来演示它的工作方式。我在valtooltip函数中添加了一个检查,以便如果ui.values
未定义,它将使用.slider("values,
方式设置值:
var valtooltip = function(sliderObj, ui){
// if this is initializing, ui.values will be undefined, so set with slider values
var sliderValue1 = (ui.values === undefined) ? sliderObj.slider("values", 0) : ui.values[0];
var sliderValue2 = (ui.values === undefined) ? sliderObj.slider("values", 1) : ui.values[1];
var val1 = '<span class="slider-tip">'+ sliderValue1 + '</span>';
var val2 = '<span class="slider-tip">'+ sliderValue2 + '</span>';
sliderObj.find('.ui-slider-handle:first').html(val1);
sliderObj.find('.ui-slider-handle:last').html(val2);
};
这是小提琴,所以你可以试试:https://jsfiddle.net/e6oa09kg/1/
希望有帮助。祝你好运!
相关文章:
- 如何在悬停时显示文本而不移动页面上的内容
- 以下数据布局在设置显示上向上移动:无
- 在移动浏览器上显示大型文本文件
- IE(移动设备)在触摸时不显示子项
- 如何移动PIXI显示对象
- 当我将子项从一个父项移动/复制到另一个父级时,如何重新计算显示
- 将页面内容向左移动时显示/隐藏右侧面板
- 尝试在画布中对形状进行动画处理时,它会显示,但不移动
- jQuery移动显示页面5秒钟,然后重定向
- Google Maps Javascript API v3 地图显示在桌面浏览器上,但不会显示在移动浏览器上
- 显示移动窗口时引导导航栏中的 atach 搜索栏
- iPhone锚点,scrollTop,scrollTo显示移动按钮栏,但不会滚动或跳到锚点
- 删除的DOM元素仍然显示在移动safari(iOS 5.1)中
- 为什么 Jquery 移动显示移动友好在桌面浏览器上看起来很友好
- 在 JS 中重置 HTML 范围输入不会移动显示的滑块
- Dojo移动显示滚动条
- jQuery移动显示双按钮
- 使用jquery移动显示地图位置,使用经度和纬度
- JQuery移动显示空白
- 自动高度虚拟列表为移动显示大列表