var slideContainer = ('#slider');
var width = 720;

function slide () {
  if ( parseInt( $slideContainer.css('marginLeft') ) >= -2160 ) {
    $slideContainer.animate({'margin-left': '-='+width},200);
  }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class='button' onclick='slide()'></a>





我有这个简单的功能,问题是当我多次单击动画速度超过150的按钮时,滑块容器向左移的幅度超过了-2160在if条件下的极限。

最佳答案

var slideContainer = ('#slider');
var width = 720;
var clicked = false;

function slide () {
      if ( clicked ) return;
      clicked = true;
      if (parseInt( $slideContainer.css('marginLeft') ) >= -2160 ) {
        $slideContainer.animate({'margin-left': '-='+width},200,"linear",()=>{
clicked=false;});
       }
}

<a class='button' onclick='slide()'></a>

07-26 04:31