JQuery Mobile Slider没有重新启用

时间:2013-01-10 21:56:51

标签: javascript jquery-mobile

所以我认为我正在使用我的jquery移动滑块执行所有操作,但控件未重新启用。我用它做了一个相当不错的jsFiddle,希望有人能快速发现错误。

在小提琴上你会看到jQuery moblie控件。如果单击并移动滑块位置,则事件将触发控件值更改。如果最终在20秒内将值更改超过5次,则控件将锁定。你可以把它想象成一个冷却时期。在控制冷却后,应重新启用以进行更多糖化。

问题是,控制永远不会被禁用!

http://jsfiddle.net/Narq6/

示例Javascript:

var sent = 0;
var disabled = false;

$('#slider-fill').on( 'slidestop', function()
                     {
                       send();
                       writeConsole(sent);                                           
                     })

function send()
{
 setTimeout(decrease, 4000);
    sent +=1;

  if(sent > 5)
  {
     $('#slider-fill').prop('disabled', 'disabled');

    disabled = true;
  }  
}
function decrease()
{
  if(sent > 0)
     sent -= 1;
 writeConsole('decrease'); 
 writeConsole(sent); 

  if(sent === 0)
  {
    //CODE TO DISABLE HERE!!!
    //LOOK HERE THIS IS WHERE I REMOVE THE DISABLE!!!
      writeConsole('no longer disabled!');     
     $('#slider-fill').prop('disabled', '');
    ///YOU LOOKED TOO FAR GO BACK A LITTLE BIT :D
  }
}

function writeConsole(message)
{
  var miniconsole = $('#miniConsole');
  var contents = miniconsole.html();
  miniconsole.html(contents + message + '<br/>' );
  miniconsole.scrollTop(10000);

}

1 个答案:

答案 0 :(得分:2)

您使用了错误的启用/禁用语法。

这是一个正确的语法:

$('#slider-fill').slider('disable');

$('#slider-fill').slider('enable');

以下是您使用jsFiddle制作的示例:http://jsfiddle.net/Gajotres/djDDr/