Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有可能只执行一次函数?_Javascript - Fatal编程技术网

Javascript 是否有可能只执行一次函数?

Javascript 是否有可能只执行一次函数?,javascript,Javascript,我用JavaScript编写了这段代码,其中隐藏了一些内容。我实际上想在点击按钮之前隐藏内容。我知道,也许我可以有空的元素,并在我点击那个按钮后填充它们,但这看起来更简单 我想从用户点击某个按钮进入页面时开始执行此功能,然后再也不执行,即使在刷新之后也是如此 有可能吗 函数隐藏表(){ document.getElementsByTagName('table')[0].style.visibility=“hidden” document.getElementsByTagName('table')

我用JavaScript编写了这段代码,其中隐藏了一些内容。我实际上想在点击按钮之前隐藏内容。我知道,也许我可以有空的元素,并在我点击那个按钮后填充它们,但这看起来更简单

我想从用户点击某个按钮进入页面时开始执行此功能,然后再也不执行,即使在刷新之后也是如此

有可能吗

函数隐藏表(){
document.getElementsByTagName('table')[0].style.visibility=“hidden”
document.getElementsByTagName('table')[1].style.visibility=“hidden”
document.getElementsByTagName('button')[1].style.visibility=“hidden”
document.getElementById('info').style.visibility=“hidden”
}
可隐藏();

您可以使用
localStorage
存储函数是否已运行

function hideTheTable(){
    if(!localStorage.getItem('hideTableFlag')){
        localStorage.setItem('hideTableFlag', true);
        console.log('function run')
    }
}

是的,您可以添加一个cookie,该cookie在用户之前进入页面时返回:

// first lets create a helper function that lets us retreive a cookie
function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}
// setting cookie
// if you need the function to load when the page loads
window.onload = (){
document.cookie = "enteredbefore=true; path=/";
};
// else if you need to call it when user clicks on button (define your button)
mybutton.onclick = (){
document.cookie = "enteredbefore=true; path=/";
};
// now we make if else statment
if(getCookie(enteredbefore) == ""){
// call your function
hideTheTable();
}
//首先让我们创建一个帮助函数,让我们检索cookie
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;i您可以使用它来跟踪用户是否单击了按钮,或者您可以将该信息存储在服务器中,具体取决于您的体系结构答:我只是在寻找一个更简单的解决方案,实际上需要一些东西,可以用于一个实例,当用户第二次来时,它不需要工作。但是不是这样的汉克斯!