2013-01-10 105 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