当前位置: 首页 > 知识库问答 >
问题:

使用循环调用具有单独上下文的函数

皇甫飞跃
2023-03-14

我有一个脚本,其中为页面上的每个元素调用一个函数。它可以很好地处理单独的函数调用,但如果我试图用唯一的选择器调用函数,它就不能正常工作。我如何实现一个循环,为每个html块单独调用函数,但只使用一个类(例如,如果我有X元素),而不使用像现在这样的单独的选择器(startLoop('#stack1');startLoop('#stack2');ecc.ecc.)对它们进行寻址(startLoop('#stack1');startLoop('#stack2');ecc.ecc.)

let timer;

function startLoop(container) {
let lastCard = $(container + ' .card').length - 1;
  timer = setInterval(function () {
    let prependList = function() {
      if( $(container + ' .card').hasClass('activeNow') ) { 
        let $slicedCard = $(container + ' .card').slice(lastCard).removeClass('transformThis activeNow');
        $(container + ' ul.card-list').prepend($slicedCard);
      }
    }
    
    $(container + ' li.card').last().addClass('transformThis').prev().addClass('activeNow');
    setTimeout(function(){prependList(); }, 250);
  }, 4500);
}

 if ($('#stack1')[0]) {
  startLoop('#stack1');
}

if ($('#stack2')[0]) {
  startLoop('#stack2');
} 

共有1个答案

壤驷泓
2023-03-14

您是否尝试使用.each()

假设您希望循环遍历具有类.stacks的所有元素

因此,如果您想要遍历类.stacks的所有元素,那么您可以如下所示:

$(function(){
    $(".stacks").each(function(index, element){
        var elementId = $(element).attr("id");
        startLoop("#" + elementId);
    });
});

// from here your codes start
let timer;

function startLoop(container) {

    let lastCard = $(container).find('.card').length - 1;
      timer = setInterval(function () {
        let prependList = function() {
          if( $(container + ' .card').hasClass('activeNow') ) { 
            let $slicedCard = $(container + ' .card').slice(lastCard).removeClass('transformThis activeNow');
            $(container + ' ul.card-list').prepend($slicedCard);
          }
        }
        
        $(container + ' li.card').last().addClass('transformThis').prev().addClass('activeNow');
        setTimeout(function(){prependList(); }, 250);
      }, 4500);

}
 类似资料:
  • 我使用以下程序集和c源(分别使用fasm和gcc)将一些程序集与一些c链接起来,以测试函数调用的成本 组件: c来源: 我得到的结果令人惊讶。首先,速度取决于我链接的顺序。如果我以的形式链接,典型的输出是 但是以相反的顺序链接,我得到了一个更像的输出: 他们的不同令人惊讶,但这不是我要问的问题。(此处有相关问题) 我要问的问题是,在第二次运行中,有函数调用的循环如何比没有函数调用的循环快,调用函数

  • 我有一张传单地图,上面的标记显示了一个选定国家的顶级城市。单击标记时,在AJAX调用中使用该城市的LAT/LNG,并通过使用weather API的PHP cURL例程弹出显示该城市天气信息的模式。触发此click事件后会出现几个easyButtons。 现在,我想添加另一个模式,该模式包含相同城市的不同信息,当用户单击这些easyButtons之一时,该模式将弹出,方法是使用另一个API使用与天

  • 我需要同时在两组div中上下循环。这段代码可以很好地循环列表(button1),但是当我试图创建一个向下按钮(button2)时,它会扰乱div顺序,并且不能正确地循环。我如何修改这段代码,使它成功地以正确的顺序在列表中上下循环? null null

  • 我是一个使用NIFI的大一新生。下面的NiFi dataflow从固定URL上的GET请求中获取数据,但是我的endpoint有一组参数来获取部分数据,例如页面ID。我希望避免为稍微不同的请求URL创建相同的工作流。 在API中,我可以请求可用的页面列表,我希望使用这样的请求的结果开始循环下面的工作流。我该怎么做??

  • 我正在使用SwiftMailer库下的laravel中的邮件功能。 上述功能向多个用户发送邮件,但用户知道所有邮件都发送给谁,因为其收件人地址由 为了纠正这个问题,我使用了一个循环,它分别发送邮件 上面的代码运行良好。。。 我的问题是,在这个高级框架中,是否有任何函数可以向用户发送具有唯一地址的邮件(即),而不需要一个用户知道有多少其他用户发送相同的邮件,而不需要使用......

  • Oracle GSSAPI Java示例和各种SPNEGO/GSSAPI IETF RFC表明,GSS启动器(客户端)和接收器(服务器)都应该有一个循环来建立安全上下文,并且客户端可能需要在建立安全上下文之前使用GSS令牌进行多次传递。 > Oracle GSSAPI示例:https://docs.oracle.com/javase/8/docs/technotes/guides/security