gpt4 book ai didi

JavaScript;如何使函数全局可访问?

转载 作者:行者123 更新时间:2023-12-02 16:37:39 25 4
gpt4 key购买 nike

  1. 我正在尝试从这个秒表示例中学习。我希望能够通过单击此页面上未定义的另一个 html 元素来启动秒表。

  2. 如何在其他地方使用“开始”功能(例如页面重新加载等)?

    var Stopwatch = function(elem, options) {

    var timer = createTimer(),
    startButton = createButton("start", start),
    offset,
    clock,
    interval;

    // append elements
    elem.appendChild(startButton);

    reset();

    // private functions
    function createTimer() {
    return document.createElement("span");
    }

    function createButton(action, handler) {
    var a = document.createElement("a");
    a.href = "#" + action;
    a.innerHTML = action;
    a.addEventListener("click", function(event) {
    handler();
    event.preventDefault();
    });
    return a;
    }

    function start() {
    if (!interval) {
    offset = Date.now();
    interval = setInterval(update, options.delay);
    }
    }

    // public API
    this.start = start;
    };

    var d = document.getElementById("d-timer");
    dTimer = new Stopwatch(d, {delay: 1000});
    dTimer.start();

问题1:如何在其他地方调用启动函数?全局?

最佳答案

如果“未在此页面上定义”是指 HTML 文档中的浏览器页面,那么这是不可能的。一旦您切换页面(甚至重新加载页面),代码就会在不同的上下文中运行。

假设这就是您想要的,您可以通过不实际离开页面,而是加载另一个页面并替换当前页面内容来解决此问题。

如果您不离开页面,您的 dTimer 对象应该可以全局访问。

关于JavaScript;如何使函数全局可访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com