无限循环水平滑动div
Looping horizontally sliding divs infinitly
我一直在尝试用无限循环编写自己的carousal。除了一个例外,代码工作得很好。我想让它进入循环,第一个 div 被附加到最后一个等等。现在它被重置到以前的位置。
我尝试了不同的方法,但 none 似乎有效。有什么帮助吗?
let divArray = $(".mybox");
let sliderFrame = $(".slider");
let i = 0;
function test() {
//sliderFrame.append(divArray[i]);
sliderFrame.delay(1000).animate({ right: 150 * i + "px" });
if (i < divArray.length/2) i++;
else i = 0;
test();
}
test();
https://codepen.io/xblack/pen/mLYdeb
您可能想试试这个 --
let sliderFrame = $(".slider");
let i = 0;
function test() {
let divArray = $(".mybox");
$(divArray[0])
.animate({"margin-left":"-150px"}, 5000, function() {
$(this)
.css({"width":"150px","margin-left":"0px"})
.appendTo(sliderFrame);
test();
});
}
test();
我一直在尝试用无限循环编写自己的carousal。除了一个例外,代码工作得很好。我想让它进入循环,第一个 div 被附加到最后一个等等。现在它被重置到以前的位置。
我尝试了不同的方法,但 none 似乎有效。有什么帮助吗?
let divArray = $(".mybox");
let sliderFrame = $(".slider");
let i = 0;
function test() {
//sliderFrame.append(divArray[i]);
sliderFrame.delay(1000).animate({ right: 150 * i + "px" });
if (i < divArray.length/2) i++;
else i = 0;
test();
}
test();
https://codepen.io/xblack/pen/mLYdeb
您可能想试试这个 --
let sliderFrame = $(".slider");
let i = 0;
function test() {
let divArray = $(".mybox");
$(divArray[0])
.animate({"margin-left":"-150px"}, 5000, function() {
$(this)
.css({"width":"150px","margin-left":"0px"})
.appendTo(sliderFrame);
test();
});
}
test();