在完成页面加载后调用一个函数
我使用下面的代码来执行页面加载后的一些语句。
<script type="text/javascript"> window.onload = function () { newInvite(); document.ag.src="b.jpg"; } </script>
但是这个代码不能正常工作。 即使某些图像或元素正在加载,该函数也会被调用。 我想要的是调用页面加载完整的function。
这可能适合你:
document.addEventListener('DOMContentLoaded', function() { // your code here }, false);
或者如果你使用jQuery的舒适,
$(document).ready(function(){ // your code });
$(document).ready()
在DOMContentLoaded上触发,但是这个事件并没有在浏览器中一致地被触发。 这就是为什么jQuery最有可能实现一些繁重的解决方法来支持所有的浏览器。 这将使得使用简单的Javascript来“模拟”行为变得非常困难(当然不是不可能的)。
正如Jeffrey Sweeney和J Torres所build议的那样,我认为在触发如下函数之前,最好有一个setTimeout
函数:
setTimeout(function(){ //your code here }, 3000);
如果你可以使用jQuery,看看加载 。 你可以设置你的函数在你的元素完成加载后运行。
例如,考虑一个简单的图像页面:
<img src="book.png" alt="Book" id="book" />
事件处理程序可以绑定到图像:
$('#book').load(function() { // Handler for .load() called. });
如果您需要加载当前窗口上的所有元素,则可以使用
$(window).load(function () { // run code });
优秀的一个:
document.onreadystatechange = function(){ if(document.readyState === 'complete'){ ............................ } }
如果你想在你的html页面中使用onload事件调用一个js函数。 onload事件发生在用户代理完成加载FRAMESET中的一个窗口或所有框架时。 该属性可以与BODY和FRAMESET元素一起使用。
<body onload="callFunction();"> .... </body>
这样你可以处理这两种情况 – 如果页面已经加载或没有:
document.onreadystatechange = function(){ if (document.readyState === "complete") { myFunction(); } else { window.onload = function () { myFunction(); }; }; }
如果你不使用任何JS框架,这个项目是获得dom就绪状态的最好方法,具有跨浏览器兼容性
如果你已经在使用jQuery,你可以试试这个:
$(window).bind("load", function() { // code here });
试试这个jQuery :
$(function() { // Handler for .ready() called. });
我正在使用Web组件,所以适用于我:
document.addEventListener('WebComponentsReady', function() { document.querySelector('your-element').show(); });
在完成页面加载设置超时后调用一个函数
setTimeout(function() { var val = $('.GridStyle tr:nth-child(2) td:nth-child(4)').text(); for(var i, j = 0; i = ddl2.options[j]; j++) { if(i.text == val) { ddl2.selectedIndex = i.index; break; } } }, 1000);
把你的脚本完成身体标记后…它的作品…