2

したがって、jqueryモバイルスライダーを使用してすべてを正しく行っていると思いますが、コントロールが再度有効になっていません。誰かがエラーをすぐに見つけてくれることを期待して、私はそれでかなりまともなjsFiddleを作成しました。

フィドルには、jQuerymoblieコントロールが表示されます。クリックしてスライダーの位置を動かすと、コントロール値が変更されたというイベントが発生します。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);

}
4

1 に答える 1

2

誤った有効化/無効化構文を使用していました。

これはcoorect構文です:

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

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

これがjsFiddleから作成された実例です:http://jsfiddle.net/Gajotres/djDDr/

于 2013-01-12T22:49:06.310 に答える