HTML5 + Jscript 与 JQuery、setInterval 问题

2024-04-03

在我把桌子上的所有东西都扔出去之前,请有人告诉我为什么这不起作用。

我有以下 html 文档:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html"; charset=utf-8 />
    <title>Sample Gauge using JQuery</title>
</head>
<body>
    <canvas id="gauge" width="200" height="200">
    Your web browser does not support HTML 5 because you fail.
    </canvas>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="gauge.js"></script>
</body>
</html>

和 gauge.js:

$(document).ready(function () {
    //(canvas gets assigned)

    startRendering();

    function startRendering() {
        setInterval("render();", 1000);
    }

    function render() {
        renderBackground();
        renderNeedle(-172);
    }

    //(Defined functions for rendering a gauge)
});

render() 不会被调用,但如果我将 setInterval 行更改为“render()”,它就会被调用。 另外,如果我更改 setInterval() 以包含类似“alert('LOL')”的内容,那么它确实可以工作,但它似乎不适用于我定义的函数。 要调用的函数末尾有或没有分号没有区别,前缀 this 也没有区别。我的职能。

我正在尝试让它工作,这样我就可以开始使用它来制作仪表动画。谁能看出为什么它不起作用?

我讨厌网络开发。


Change

    setInterval("render();", 1000);

To

    setInterval(render, 1000);

当你传递一个字符串到设置间隔(),里面的代码在当前作用域之外执行。无论如何,直接传递该函数更为合适。如果去掉括号,函数可以像任何其他变量一样传递。

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

HTML5 + Jscript 与 JQuery、setInterval 问题 的相关文章

随机推荐