使用 setInterval() 后出现clearInterval() 未定义错误

2024-04-07

我知道这不应该是内联的,但 YUI 库的对话框迫使我这样做。我的问题是,每当我将鼠标悬停在该 div 上时,左边缘滚动就会激活,但当我将鼠标移出该 div 时,它不会停止。 JS 控制台报告:

未捕获的引用错误:timerID 未定义

这是代码:

<div class="span1" onmouseover="
            var timerID;
             $(document).ready(function(){              
                    timerID = setInterval(scrollLeft, 10);

                    function scrollLeft(){
                        $('.inner_wrapper').animate({
                            marginLeft: '-=30px'
                        });
                    }
             });
             " onmouseout="clearInterval(timerID)">
        </div>

编辑:问题是我无法在对话框内运行 SCRIPT 标签(它们已经通过脚本创建,这些脚本会过滤除 onmouseover 和 onmouseout 等内联 JavaScript 之外的任何 javascript)。因此,您将 onmouseover 和 onmouseout 句柄封装在单个函数中的建议在这种情况下将不起作用。


这是一个范围问题。你变量timerID在 onmouseout 中不可见。

一般来说,将东西放入函数中而不是将其全部破坏到属性中是一个好主意。这避免了所有这些范围问题。使用处理程序而不是on-...-属性。

在外部定义你的函数onmouseover属性并调用另一个函数mouseout这清除了它。

像这样的东西(以避免讨厌的全局变量)

var handler = (function(){
    var timerID;
    function scrollLeft(){
       $('.inner_wrapper').animate({
           marginLeft: '-=30px'
       });
    }
    return{
      mouseover:function(){              
            timerID = setInterval(scrollLeft, 10);
         },
      mouseout:function(){
            clearInterval(timerID);
      }
    }
})();

and then

<div class="span1" onmouseover="handler.mouseover()" onmouseout="handler.mouseout()">

或者更好的是,直接通过以下方式绑定处理程序:

$('.span1').hover(function() {
    timerID  = setInterval(scrollLeft, 10); //mouseover
}, function() {
    clearInterval(timerID); //mouseout
});

从新的 jQuery 1.7 开始,.on()应该是首选。

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

使用 setInterval() 后出现clearInterval() 未定义错误 的相关文章

  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • 引导程序提前输入未填充承诺的响应

    我的引导程序预输入如下
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • $this->post codeigniter 不适用于其余 api

    我尝试与 this gt post 获取以 json 格式通过 post 发送的数据 例如 我无法得到任何结果 this gt post name 这是代码
  • Python“正则表达式”模块:模糊值

    我正在使用 模糊匹配 功能Regex https pypi python org pypi regex 模块 如何获得 匹配 的 模糊度值 它指示模式与字符串的差异程度 就像 Levenshtein 中的 编辑距离 一样 我以为我可以获取
  • 添加 const 泛型时的“不受约束的泛型常量”

    我如何添加 const 泛型 假设我有一个 foo 类型 pub struct foo
  • 如果类型参数的顺序错误,是否可以将类型设为类的实例?

    考虑以下类型 data SomeType m a SomeType m Integer a 我们可以使用以下代码轻松地将该类型设为 Functor 的实例 instance Functor SomeType m where fmap f S
  • 使用递归函数进行并行编程?

    问题背景 我正在尝试编写一个利用多核处理器和并行处理的难题解决算法 然而 理想 最简单的解决方案是简单的递归函数 分解解决方案以利用并行处理的最佳方法是什么AND递归函数 下面的代码是一个简单的解谜算法的解决方案 它工作正常 此示例中的谜题
  • 如何使用java将阿拉伯语单词插入mysql数据库

    我有一个java应用程序 想要将阿拉伯语单词插入mysql数据库 我的代码如下 Connection con null String url jdbc mysql localhost String db students String dr
  • 如何自定义 YouTube 视频的结束时间?

    我正在尝试弄清楚如何为嵌入的 YouTube 视频指定自定义结束时间 我知道我可以通过添加来自定义开始时间开始 30 但我还没有看到任何与结束时间有关的内容 我需要能够为我正在构建的网络应用程序执行此操作 因此如果 YouTube 无法提供
  • Jekyll 插件不工作

    我开发了一个简单的 Jekyll 插件 用于生成类别页面 它在我的本地系统上运行良好 但在 github 站点上不起作用 这是插件的来源 https github com madhur madhur github com blob mast
  • 对于新 XPage 开发人员来说,最重要的 3 个 XPage 性能技巧是什么?

    您会告诉刚接触 XPage 的开发人员做哪 3 件事 以帮助最大限度地提高 XPage 应用程序的性能 Tim Tripcony 给出了很多建议
  • 如何使用 Drive Rest API 读取云端硬盘照片

    我正在尝试使用 Google Apps 脚本中的 Drive REST API 读取 Google Photos 代码如下所示 function myFunction var files Drive Files list maxResult
  • Microsoft.Owin.Cors 中间件与 ASP.NET Web Api 2.0 一起使用时会做什么?

    我有一个带有令牌身份验证的 ASP NET Web Api 2 0 项目 所有内容主要按照本文完成 使用 ASP NET Web API 2 Owin 和 Identity 进行基于令牌的身份验证 http bitoftech net 20
  • ASP.NET MVC 性能

    我发现一些疯狂的评论称 ASP NET MVC 比 ASP NET WebForms 快 30 倍 真正的性能差异是什么 是否经过测量以及性能优势是什么 这是为了帮助我考虑从 ASP NET WebForms 迁移到 ASP NET MVC
  • 将 Docker 容器限制为单个 cpu 核心

    我正在尝试构建一个在一致条件下运行代码片段的系统 我认为实现这一点的一种方法是在具有相同布局的 docker 容器中运行各种程序 保留相同数量的内存等 但是 我似乎不知道如何保持 CPU 使用率一致 我似乎能找到的最接近的是 cpu 共享
  • 压缩过滤器+MVC+Yahoo YSlow

    我一直在使用雅虎的 YSLOW 来尝试让我的页面运行得更快AgentX http www agentx co nz 我正在使用下面的压缩过滤器 当我通过 Visual Studio 运行该网站时 YSLOW 说所有文件都已压缩 当我查看实时
  • C#:从 XML 读取/写入日期时间

    我需要知道写作 阅读的最佳方式DateTime传入 传出 XML 我应该直接写吗DateTime转换为 XML 或DateTime ToString 转换为 XML 第二个问题是如何从 XML 中读取日期元素 铸造可以用于此目的吗 例如 D
  • RxJS (5.0rc4):暂停和恢复间隔计时器

    我正在使用 Rx 来保持动画时钟 每个动画帧都会将间隔刻度映射到该刻度的新值 假设我想暂停动画 最自然的方法是以某种方式暂停时钟接收 然后在稍后恢复它 取消订阅然后重新订阅并不是一个自然的选择 因为这个动画时钟是一个冷可观察的对象 我不想在
  • 如何使用 QtMqtt 和 SSL 执行安全 MQTT?

    我正在尝试使用 QtMQtt 示例项目 simpleclient 但我想执行安全的 MQTT 我该如何处理这个问题 我读过这篇博客 https www qt io blog 2017 08 14 introducing qtmqtt pro
  • 如何区分应用程序退出和系统关闭

    Mac OS X 上的 Java 在 Swing GUI 应用程序中 我想区分应用程序退出和系统关闭 在应用程序退出时 我想显示一个确认对话框 但是当用户选择 系统关闭 时 我只想退出应用程序 因为系统已经出现了一个确认对话框 这在其他平台
  • Python 中的意外列表行为

    我想颠倒一个列表 我成功地做到了 但在工作的过程中我发现了一些奇怪的事情 以下程序按预期工作 但未注释行list reversed i list len list 1 i and 打印 列表 i 评论最后一行当然 导致了改变list 我没看
  • 使用 setInterval() 后出现clearInterval() 未定义错误

    我知道这不应该是内联的 但 YUI 库的对话框迫使我这样做 我的问题是 每当我将鼠标悬停在该 div 上时 左边缘滚动就会激活 但当我将鼠标移出该 div 时 它不会停止 JS 控制台报告 未捕获的引用错误 timerID 未定义 这是代码