Javascript window.on load函数仅在一个页面上执行
当页面加载后,我让这个JS在包装中淡出:Javascript window.on load函数仅在一个页面上执行,javascript,jquery,html,Javascript,Jquery,Html,当页面加载后,我让这个JS在包装中淡出: $(window).on('load', function(){ $(".wrapper").fadeIn(); ... }); 它只适用于一个页面,但不适用于任何其他页面。 在那里,包装不会褪色。 我尝试了一个console.log,但效果不好,因此该函数根本无法执行 JS文件通过PHP加载,包括: <?php include 'website/inc/head.php'; ?> 然后head.php加载main.js。
$(window).on('load', function(){
$(".wrapper").fadeIn();
...
});
它只适用于一个页面,但不适用于任何其他页面。在那里,包装不会褪色。
我尝试了一个
console.log
,但效果不好,因此该函数根本无法执行
JS文件通过PHP加载,包括:
<?php
include 'website/inc/head.php';
?>
然后head.php
加载main.js
。每一页都是一样的。但它不会在除一个页面之外的所有页面上执行该函数
顺便说一下,我正在使用$(window).on('load',function(){…})
,因为使用$(window.load(function(){…})时,我得到了一个a.indexOf不是一个函数
错误代码>
你可以在网上查看。打开导航并转到“公文包”,它在那里工作。在main.js中有以下结构:
$(document).ready(function(){
// this code is applied when `document.ready` fires`
$(window).on('load', function(){
// this code is applied when `window.load` fires
// if it was bound before `window.load` fired
});
})
解析main.js
时,不会应用$(document).ready
中的代码,而是在$(document)
上触发ready
时应用
$(document).ready()在DOM完成构建时激发。
(基本上,浏览器符合
标记)
$(window).load()在所有资源(脚本、样式、图像等)加载完毕后激发
当触发document.ready
事件时,应用该函数中的代码,同时浏览器继续加载资源。
如果页面很轻并且与服务器的连接很快,window.load
将在浏览器完成应用$(document)ready(…)
中的代码之前启动。因此,它可能会在window.load
已触发后,在window.load
上绑定侦听器
解决方案是在分析main.js
时,而不是在document.ready
激发时,在窗口上绑定侦听器
$(document).ready(function(){
// this code is applied when `document.ready` fires`
})
$(window).on('load', function(){
// this code is applied when `window.load` fires
// and now you can be sure it has been bound before `window.load`
});
请问您为什么在$(document.ready()
)中调用$(window.on('load')
?你可以尝试在索引页上添加脚本而不是在标题中添加脚本,然后分享你的反馈,也许在我可以帮助你之后。通常它应该作为文档工作。就绪
事件在窗口之前触发。加载
。但是,由于您的页面非常轻,因此它们之间的差异可能非常小,以至于在读取和解析文档.ready
代码时触发window.load
,因此绑定在触发load
之后完成。修复方法是将$(window).放在('load',…)
之外的$(document).ready(…)
@andreegheorghiu-Oh有意义。所以,如果我添加窗口加载作为documentready的回调,它应该可以工作吗?别担心,我不会那么做的。只是想知道。我写了一个更详尽的解释作为回答。因为通常页面不轻,连接不快,很多人都会犯这个错误,而且会被一次又一次地复制。但是这两个过程(DOM构建和资源加载)是并行的,正如您刚刚体验到的,在某些情况下,您无法绑定w.load
insided.ready
。非常感谢您的回答!