第一次动画执行后发出问题

时间:2016-09-24 19:34:32

标签: jquery animation jquery-animate opacity

我有一个触发动画的按钮。当我再次单击该按钮时,它会切换类,但不透明度仍然在动画后的代码中。

所有后续点击都会发生这种情况。我怎样才能解决这个问题?

public class Book {
    public int Id { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
    public bool IsSubmitted { get; set; }
    public bool IsCompleted { get; set; }
    public bool IsDeleted { get; set; }
}    

2 个答案:

答案 0 :(得分:0)

您应该尝试bind而不是click

$( "#menu-button" ).bind("click", function() {
      $("#right-sidebar").toggleClass("display");

      if($("#right-sidebar").hasClass("display") == false){
        $("#right-sidebar").css("opacity","0");
      } else {
        $("#right-sidebar").animate({
                  opacity: 1
              }, "slow");
      }
    });

答案 1 :(得分:0)

问题来自评论中提到的.css(opcity = "0") @Mohammad ,只需修复此问题,您的代码就能正常运行:

$( "#menu-button" ).click(function() {
  $("#right-sidebar").toggleClass("display");

  if(!$("#right-sidebar").hasClass("display")){
    $("#right-sidebar").css("opacity", "0");
  } else {
    $("#right-sidebar").animate({
      opacity: "1"
    }, "slow");
  }
});
#right-sidebar{
  width:80%;
  height: 100px;
  float: right;
  background-color: green;
  color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-lg btn-primary" id="menu-button">menu</button>

<div id='right-sidebar' class="display">right sidebar</div>