页面加载时未调用 JavaScript 函数

标签 javascript php laravel-5

我在页面底部放置了一个 JavaScript 函数,但由于某种原因,该页面在页面加载时并未被调用。我尝试在控制台上运行它以确保它不会产生错误,但它运行得很好。我什至尝试设置

window.onload = function() {applyMovement();}

这根本不起作用。

about.js

function applyMovement() {
    let bars = document.getElementsByClassName('progress-bar');
    for (let i = 0; i < bars.length; i++) {
        moveBar(bars[i], i);
    }
}

index.blade.php

...
</body>
<script src="{{ asset('/js/about.js') }}">window.onload = function() {applyMovement();} </script>
</html>

需要注意的是,我使用的是 Laravel 5.8。我已将 JS 文件放在 public 目录中。此外,正在运行文件上的其他操作,但不运行此特定函数。

最佳答案

尝试在 about.js 的声明下放置一个新的脚本标签。就像这样:

...
</body>
<script src="{{ asset('/js/about.js') }}"> </script>
<script> window.onload = function() {applyMovement();} </script>
</html>

如果这不起作用,请尝试以下操作(将其作为全局绑定(bind)到窗口):

window.applyMovement = function() {
    let bars = document.getElementsByClassName('progress-bar');
    for (let i = 0; i < bars.length; i++) {
        moveBar(bars[i], i);
    }
}

关于页面加载时未调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56716107/

相关文章:

PHP OOP MySQL 注册系统 MySQL_NUM_Row 错误

php - 当用户离开页面时使 Laravel 中的登录无效

php - Laravel 5 : DB Seed class not found

javascript - 如何使用 jQuery 删除脚本

javascript - Node.JS async.parallel 混淆 | async.map 返回什么

从多字节字符串中去除重复字符的 PHP 方法?

laravel - 如何将 php-cs-fixer 与 vim 一起用于 laravel?

javascript - 如何执行多个 Firebase 请求并在所有请求完成后接收回调?

javascript - 使用 node.js 访问 DOM

php - MySQL 列 json 与连接