我正在尝试创建一个简单的滑块。问题在边距动画中,当滑块元素到达最后一个位置时,它应该显示第一个元素,滑块的行为将所有元素滚动到前面元素的开头。我需要在滑块幻灯片的最后一个元素之后,将普通动画设置为数字1,就像从previus元素切换时一样。代码笔链接https://codepen.io/donchak1610/pen/BZbEXp?editors=1010。底部只有第二个按钮。

 let buttonPrev = $('#button-prev');
let buttonNext = $('#button-next');
let screenImage = $('#screen-image');
let counter = 1;
let controlHeight = $('.slider-control__img').height();
let controlWrapper;

buttonNext.click(function () {
console.log(counter);
if (counter < 4) {
  controlWrapper = $(this).find('.slider-control__wrapper');
  controlWrapper.css('margin-top', '-='+controlHeight+'px');
  counter++;
} else {
  counter = 1;

  controlWrapper.css('margin-top', '0px');
 }

});

最佳答案

controlWrapper变量为空。
你应该像在这里一样给它添加一个选择器。

else {
    counter = 1;
    controlWrapper = $(this).find('.slider-control__wrapper');
    controlWrapper.css('margin-top', '0px');
}

10-06 00:13