JQuery UI Slider在使用return false停止后恢复

Posted

技术标签:

【中文标题】JQuery UI Slider在使用return false停止后恢复【英文标题】:JQuery UI Slider resume after stopping on condition using return false 【发布时间】:2017-07-02 07:14:51 【问题描述】:

这是带有调用的滑块元素。我试图在成功的情况下阻止它,但之后它就卡住了。我尝试添加else return true; ,但正如预期的那样,它不会运行其余部分。如果我在代码运行的末尾移动 if else 块,则条件会触发,这不是我想要的。

$(".hdrHt").slider(
  orientation: "horizontal",
  range: "min",
  max: 22,
  min: 8,
  value: 15,
  create: function() $(this).find('.headHandle').text( $(this).slider("value")+'%'); ,
  slide: function(e,ui)
        var hfs=currentVid.find('.ovlDivs').css('font-size').replace('px',''),hht=currentVid.find('.headerDiv').css('height').replace('px','');
        if((parseInt(hfs)+10)>parseInt(hht)) return false; 
        currentVid.find('.middleDiv').css('height',(100-parseInt(currentVid.find('.ftrHt').slider("value"))-ui.value)+'%');
        currentVid.find('.headerDiv').css('height',ui.value+'%'); $(this).find('.headHandle').text(ui.value+'%');
      
);

【问题讨论】:

【参考方案1】:

好吧,我放弃得太快了,这很容易。但如果您有更清洁的解决方案,请继续。

var stopPt=8;
$(".hdrHt").slider(
  orientation: "horizontal",
  range: "min",
  max: 22,
  min: 8,
  value: 15,
  create: function() $(this).find('.headHandle').text( $(this).slider("value")+'%'); ,
  slide: function(e,ui)
        if(ui.value>stopPt)
            currentVid.find('.middleDiv').css('height',(100-parseInt(currentVid.find('.ftrHt').slider("value"))-ui.value)+'%');
            currentVid.find('.headerDiv').css('height',ui.value+'%'); $(this).find('.headHandle').text(ui.value+'%');
        
        var hfs=currentVid.find('.ovlDivs').css('font-size').replace('px',''),hht=currentVid.find('.headerDiv').css('height').replace('px','');
        if((parseInt(hfs)+15)>parseInt(hht)) stopPt=ui.value; return false; 
      
);

【讨论】:

以上是关于JQuery UI Slider在使用return false停止后恢复的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI Slider范围:保持按钮在范围内[关闭]

jquery ui slider - 忽略/不逐步递增[重复]

处理之前的 jQuery UI Slider 样式

jQuery UI Slider 重置动画

jQuery-ui slider - 如何阻止两个滑块相互控制

在 Leaflet 中以特定值启动 JQuery UI Slider