2013-01-10 72 views
2

所以我认为我正在做的一切正确与我的jQuery的移动滑块,但控制不被重新启用。我用它做了一个相当不错的jsFiddle,希望有人能够迅速发现错误。JQuery Mobile Slider Not ReEnabling

在小提琴上你会看到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); 

} 

回答

2

您使用不正确启用/禁用语法。

这一个是coorect语法:

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

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

这里的我的工作例如从您的jsfiddle制作:http://jsfiddle.net/Gajotres/djDDr/

+1

谢谢!不知道每个控件的具体jQuery移动语法。 – cgatian