为什么带有毫秒参数的clearTimeout不起作用?

2024-01-05

我正在构建一个简单的横幅旋转器。事实是,当它在没有按下任何按钮的情况下旋转时,工作正常,但是当我按下某个按钮来更改横幅并清除时间时,它不起作用。

看来时间不太清楚。

        var tempo = 5000;
        var elemento;
        var quantos;
        var atual;
        
        // Inicia
        
        $(document).ready(function() {
            bannerRotator("#destaques");
        
        });
        
        
        // Funções do Banner
        
        
        function bannerRotator(element) {
            
            // Conta quantos banners existem:
            $('<ul class="buttons"></ul>').appendTo(element);
            i = 0;
            $(element).find(".banner").each(function() {
                $(element).find(".banner").eq(i).addClass("id"+i);
                buttons = element+" ul.buttons";
                acId = i+1;
                $('<li><a href="javascript:getBanner('+i+');">'+acId+'</a></li>').appendTo(buttons);
                i++;
            });
            
            // Inicia a rotacao
            elemento = element;
            quantos = i;
            rotate(i,-1);
        
        }
        
        function getBanner(r) {
            r = r-1;
            rotate(quantos, r);
        }
        
        
        function rotate(i, base) {
            
            clearTimeout(tempo);
            
            if (base<i-1) {
                base++;
                atual = base;
                setTimeout('rotate('+i+', '+base+');', tempo);
            }
            else {
                base = 0;
                atual = base;
                setTimeout('rotate('+i+', '+base+');', tempo);
            }
            
            // Faz os fades
            
            $(elemento).find(".banner").animate({opacity: 0,});
            $(elemento).find(".banner").eq(base).animate({opacity: 1,});
            
            // Arruma os botoes
            
            $(elemento).find("ul.buttons li").removeClass("active");
            $(elemento).find("ul.buttons li").eq(base).addClass("active");
            
        }

因为你正在使用clearTimeout()错误地。您的代码需要类似于以下内容:

var x = setTimeout("doStuff();", tempo);
clearTimeout(x);

您当前正在使用tempo作为超时句柄,这就是它不起作用的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么带有毫秒参数的clearTimeout不起作用? 的相关文章

随机推荐

  • 容器之间的连接被拒绝

    我尝试将运行 spring boot 2 应用程序的容器链接到运行 mongo 的容器 但连接被拒绝 docker compose 文件有一个 mongo 容器 稍后也会在此处添加另一个用于 spring boot 的容器 version
  • 如何识别这些图像中字母的颜色?

    我在用本文 https code msdn microsoft com windowsdesktop Solving Captcha with C dadf37cd解决验证码问题 它的工作原理是使用 AForge 从图像中删除背景 然后将
  • 如何在 JavaScript 中创建 url 预览?

    有人可以帮助我在 JavaScript 中创建 url 预览吗 我的意思是这样的 假设我的网站上有一个链接 我希望用户能够将鼠标悬停在该链接上 并弹出一个图像 显示链接目标的外观 不用担心 CSS 我已经可以正常工作了 我只需要实际的脚本来
  • 为什么我的 C# 程序在分析器中速度更快?

    我有一个相对较大的系统 到目前为止约 25000 行 用于监视无线电相关设备 它使用最新版本的 ZedGraph 显示图表等 该程序是在Win7下的VS2010上使用C 编写的 问题是 当我从 VS 中运行该程序时 它运行缓慢 当我从构建的
  • Excel VBA 查询访问失败

    我正在尝试使用 VBA 从 excel 查询访问文件 但出现错误rs Open queryStatement conn adOpenStatic adLockOptimistic 错误是 运行时错误 2147217904 80040e10
  • Visual Studio 2012 上的 vc++ 项目缺少 mfc110ud.dll

    我使用VS 2012 IDE在vc 中编写了一个vc 项目 它在我的系统中运行良好 当我尝试在其他系统 其中没有 VS2012 上运行时 我们收到 MFC110ud dll 丢失 错误 第一张图片 我尝试手动放置该 dll 但它说非法使用
  • 将函数添加到枚举

    是否可以在 TypeScript 中向 Enum 类型添加函数 例如 enum Mode landscape portrait the dream toString console log this Or class ModeExtensi
  • Lambda 表达式用于访问一个对象的属性,该属性是 C# 中另一个对象的属性

    我有这两门课 public class Contratos public int EntidadeFinanceiraId get set Column Nome public EntidadesFinanceiras entidadeFi
  • ITL(iTunes 库)格式

    我正在开发一个用于管理 iTunes 库 ITL 文件 的 Java 解决方案 ITL 格式是一种专有格式 我正在寻找有关 ITL 格式的实现或文档 但 Google 找不到任何有用的东西 有人有这方面的经验吗 在哪里可以找到更多信息 提前
  • jquery 有等价的 dojo.hitch() 吗?

    原谅我的无知 因为我对 jquery 不太熟悉 有没有相当于道场 hitch http dojotoolkit org reference guide 1 7 dojo hitch html 它返回一个保证在给定范围内执行的函数 编辑 根据
  • ReactJS:如何从另一个组件更新组件

    我正在尝试写一个简单的textarea字符计数器小部件ReactJS http facebook github io react 学习如何使用它 但我现在知道如何通过火来设定价值textarea onChange event 这就是我编写应
  • jQuery 获取选择选项的名称

    我有一个包含多个选项的下拉列表 每个选项都有一个名称属性 当我选择一个选项时 需要出现不同的复选框列表 当选择另一个选项时 该复选框列表应该消失并显示另一个复选框 我创建了这些复选框列表 并为它们提供了一个与所选选项的名称属性相关的 ID
  • 获取“[object HTMLDivElement]”而不是其内容?

    我只想创建原始副本divs 位于一个带有一个案例的新 div 中 Case 1 复制那些具有favouriteid 的新 div 内的类fav items 我已经尝试过 我都尝试过innerHTML and appendChild 方法 当
  • 如何将多个jar添加到groovyConole/groovysh的类路径中?

    我不得不问这个问题 这感觉很荒谬 但我似乎无法将多个 jar 文件添加到 groovyConsole 和 groovysh 的类路径中 如何将多个 jar 文件添加到类路径 这是我尝试过的 groovyConsole cp lib comp
  • Sequelize - 如何仅返回数据库结果的 JSON 对象?

    所以我想要返回数据库结果而不是其他 目前我正在返回一大块 JSON 数据 如下所示 但我只需要 dataValues 属性 我不想使用这一点JSON检索它 tagData 0 dataValues tagId 我刚刚注意到 当它发现并且不创
  • Scala中有SoftHashMap吗?

    我知道这个问题是针对java的 https stackoverflow com questions 264582 is there a softhashmap in java 但这些实现似乎都不能很好地配合scala collection
  • 主循环旁边的多处理

    我现在正在为一个问题苦苦挣扎一段时间 我正在构建一个使用主循环的小脚本 这是一个需要用户注意的过程 用户对步骤做出响应 然后使用某些功能会发生一些神奇的事情 除此之外 我想生成另一个进程来监视计算机系统的某些特定事件 例如按特定键 如果发生
  • 使用C#设置HTML输入文本框的显示文本

    我的 ASPX 页面中有一个 HTML 输入框 如下所示
  • 类似于 .NET 中的可等待计时器

    在非托管 Win32 世界中 我习惯于用创建等待定时器 http msdn microsoft com en us library windows desktop ms682492 28v vs 85 29 aspx可用于同步调用的 API
  • 为什么带有毫秒参数的clearTimeout不起作用?

    我正在构建一个简单的横幅旋转器 事实是 当它在没有按下任何按钮的情况下旋转时 工作正常 但是当我按下某个按钮来更改横幅并清除时间时 它不起作用 看来时间不太清楚 var tempo 5000 var elemento var quantos