禁用我的onclick按钮

时间:2016-01-23 13:31:51

标签: javascript jquery html

我有2个按钮,我无法找到如何禁用&启用他们。基本上我有一个计时器,用于动画。每当我按停止动画我希望计时器停止(这工作),我希望停止动画按钮禁用,并启动动画按钮。我尝试了html&的每种语法jquery我看到了,但它似乎仍然无法工作......任何人都可以帮助我吗? 我尝试使用jquery选择器,html选择器,.prop('disabled',false),. isDisabled,.disable等等。我没有想法..

我的html按钮代码:

<input type="button" id="start" value="Start Animation"/>
<input type="button" id="stop" value="Stop Animation"/>

我的js代码:

var startinterval = setInterval(SliderPosition, 2000);
$("#start").attr('disabled','disabled');
$("#start").click(function(){startAnimation(1);});
$("#stop").click(function(){startAnimation(0);});
function startAnimation(bool) {
    if(bool == 0)
    {
        $("#stop").attr('disabled', 'disabled');
        $("#start").attr('disabled', false);
        clearInterval(startinterval);
    }
    else{
        $("#stop").attr('disabled', false);
        $("#start").attr('disabled','disabled');
        startinterval = setInterval(SliderPosition, 2000);
    }
}

1 个答案:

答案 0 :(得分:3)

您需要使用prop()。如果您使用的是.attr(),则需要使用.removeAttr()补充:

var startinterval = setInterval(SliderPosition, 2000);
$("#start").prop('disabled', true);
$("#start").click(function(){startAnimation(1);});
$("#stop").click(function(){startAnimation(0);});
function startAnimation(bool) {
    if(bool == 0) {
        $("#stop").prop('disabled', true);
        $("#start").prop('disabled', false);
        clearInterval(startinterval);
    } else {
        $("#stop").prop('disabled', false);
        $("#start").prop('disabled', true);
        startinterval = setInterval(SliderPosition, 2000);
    }
}

工作代码段

// var startinterval = setInterval(SliderPosition, 2000);
$("#start").prop('disabled', true);
$("#start").click(function() {
  startAnimation(1);
});
$("#stop").click(function() {
  startAnimation(0);
});

function startAnimation(bool) {
  if (bool == 0) {
    $("#stop").prop('disabled', true);
    $("#start").prop('disabled', false);
    // clearInterval(startinterval);
  } else {
    $("#stop").prop('disabled', false);
    $("#start").prop('disabled', true);
    // startinterval = setInterval("", 2000);
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="start" value="Start Animation" />
<input type="button" id="stop" value="Stop Animation" />