This should be a really easy “derp” question, but here it is:
I’m trying to set up a global variable in a JS file so that I can control when an action triggers. In my case, I want okBoxCall to only be called if firstTime is true. I have firstTime set to true initially, then I change it to false afterwards. My code is NOT working as it should however, as it still calls up okBoxCall more than once.
var Dialog;
var HUDWindow;
var smartPhone;
var firstTime = true;
$(document).ready(function(){
smartPhone = new SmartPhone();
initDialog();
initHUDWindow();
if(firstTime == true)
{
okBoxCall("Tutorial", "Welcome to McLarin Energy!");
firstTime = false;
}
});
What am I doing wrong? Obviously firstTime is not holding its change to false…
EDIT Forgot to mention that this is for a 3D game, not web pages. Cookies are not used.
I’m guessing you want to check whether this is the first time the user opens a page and open a tutorial if it is?
It is not possible the way you want to do it. Every time your page is loaded your script is evaluated again. So this means a variable
firstTimeis created and it is set totrue. What you need is some persistent storage on the client to store whether it is the first time or not. You will need to set a cookie or call thelocalStorageAPI if you don’t bother disregarding older browsers.