大家美好的一天,我的负载工作一次麻烦了。因为当我刷新页面或如果我要转到另一个页面时,它总是加载。
到目前为止,这是我的代码:

JS

<!--Auto load the on overlay function-->
 <script>
    window.onload = function openNav() {
    document.getElementById("myNav").style.width = "100%";
    splashScreen();
}

function closeNav() {
    document.getElementById("myNav").style.width = "0%";
}
</script>


这是我的splashscreen.js的JS功能

//use onload when in your html the context is not inside
//the <header>
//create a splashScreen function
function splashScreen(){
//get the element on the html side with the id of "skip"
var skipButton = document.getElementById("skip");
//counter for the countdown
var counter = 5;
//create an element <p>
var newElement = document.createElement("p");
newElement.innerHTML = "Skip this 5 seconds";
var id;

skipButton.parentNode.replaceChild(newElement, skipButton);

id = setInterval(function(){
counter--;
    if(counter < 0){
        //replace the newElement on else condition statement
        newElement.parentNode.replaceChild(skipButton, newElement);
        clearInterval(id);
    } else {
        newElement.innerHTML = "You can skip this in " + counter.toString() + " seconds.";
    }
}, 1000);
}


这就是我在HTML上的称呼方式

  <html>
  <body>
<!--SplashScreen JS-->
<script src="<?php echo base_url('assets/public/js/splashscreen.js');?>">
</script>

最佳答案

一种方法是设置.namewindow属性,该属性在window之后保持设置。

const NAME = "once";

window.onload = function openNav() {
    document.getElementById("myNav").style.width = "100%";
    if (this.name !== NAME) {
      this.name = NAME;
      splashScreen();
    } else {
      // do other stuff
      console.log(this.name)
    }
}

关于javascript - 上载仅需工作一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45339607/

10-12 12:22