Javascript 如何重复此功能
我有这个功能,我需要它从开始到结束重复Javascript 如何重复此功能,javascript,infinite-loop,Javascript,Infinite Loop,我有这个功能,我需要它从开始到结束重复 processSlider: function() { function a() { var c = document.querySelector(".layout-process-slider .process-point.active"); if (!c.nextElementSibling) { $(".layout-process-slider .process-point").fir
processSlider: function() {
function a() {
var c = document.querySelector(".layout-process-slider .process-point.active");
if (!c.nextElementSibling) {
$(".layout-process-slider .process-point").first().trigger("click")
} else {
$(".layout-process-slider .process-point.active").next().trigger("click")
}
}
if ($(".layout-process-slider").length) {
var b = setInterval(a, 2500)
}
$(".layout-process-slider .process-point").click(function(d) {
var c = $(this).data("select");
$(this).siblings().removeClass("active");
$(this).addClass("active");
$(this).parent().parent().find(".items").children().removeClass("active");
$(this).parent().parent().find('.item-info[data-item="' + c + '"]').addClass("active");
if (d.originalEvent !== undefined) {
window.clearInterval(b)
}
})
}
function f() {
// ...
f(); // <-- recurse
}
当它到达终点时,如何使其循环?通常,您希望使用它 给你的函数起一个名字,让它在到达终点时调用自己
processSlider: function() {
function a() {
var c = document.querySelector(".layout-process-slider .process-point.active");
if (!c.nextElementSibling) {
$(".layout-process-slider .process-point").first().trigger("click")
} else {
$(".layout-process-slider .process-point.active").next().trigger("click")
}
}
if ($(".layout-process-slider").length) {
var b = setInterval(a, 2500)
}
$(".layout-process-slider .process-point").click(function(d) {
var c = $(this).data("select");
$(this).siblings().removeClass("active");
$(this).addClass("active");
$(this).parent().parent().find(".items").children().removeClass("active");
$(this).parent().parent().find('.item-info[data-item="' + c + '"]').addClass("active");
if (d.originalEvent !== undefined) {
window.clearInterval(b)
}
})
}
function f() {
// ...
f(); // <-- recurse
}
函数f(){
// ...
f();//使用递归时,请记住维护一个条件以完成执行,否则您肯定会停止挂起浏览器i getUncaught RangeError:使用示例时超出了最大调用堆栈大小。@jarmerson,因为您没有递归基本情况。您需要一些逻辑来确定何时停止运行递归rsion。这是我正在处理的页面-这是我正在处理的页面,它有相同的滑块和相同的代码-但它在这个实例中循环。我不知道我的代码有什么不同:(