JAVASCRIPT - "Code inside event" timeout? o.O -
i have event inside page
window.addeventlistener("load", function(){ var load_screen = document.getelementbyid("load_screen"); document.getelementsbytagname("body")[0].setattribute("class", "loaded"); })
wich adds attribute body class="loaded"
when page loaded because of added cool preloader effect i'd make event wait 3-5 seconds before showing real page, if loaded (but of course wait more if not loaded). possible in way?
if want delay minimum of 5 seconds, can capture time @ point establish event handler (i.e., before "load" event has fired), , check time again in handler.
var starttime = date.now(); window.addeventlistener("load", function(){ var load_screen = document.getelementbyid("load_screen"); settimeout(function() { document.getelementsbytagname("body")[0].setattribute("class", "loaded"); }, math.max(0, 5000 - (date.now() - starttime))); });
also there's no reason use .setattribute()
set class:
document.getelementsbytagname("body")[0].classname = "loaded";
personally i'd either use .classlist
facility or go old-school , add new class:
document.getelementsbytagname("body")[0].classname += " loaded";
that way don't step on other classes may (possibly in future) on <body>
.
Comments
Post a Comment