Javascript 是否有可能只执行一次函数?
我用JavaScript编写了这段代码,其中隐藏了一些内容。我实际上想在点击按钮之前隐藏内容。我知道,也许我可以有空的元素,并在我点击那个按钮后填充它们,但这看起来更简单 我想从用户点击某个按钮进入页面时开始执行此功能,然后再也不执行,即使在刷新之后也是如此 有可能吗Javascript 是否有可能只执行一次函数?,javascript,Javascript,我用JavaScript编写了这段代码,其中隐藏了一些内容。我实际上想在点击按钮之前隐藏内容。我知道,也许我可以有空的元素,并在我点击那个按钮后填充它们,但这看起来更简单 我想从用户点击某个按钮进入页面时开始执行此功能,然后再也不执行,即使在刷新之后也是如此 有可能吗 函数隐藏表(){ document.getElementsByTagName('table')[0].style.visibility=“hidden” document.getElementsByTagName('table')
函数隐藏表(){
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您可以使用它来跟踪用户是否单击了按钮,或者您可以将该信息存储在服务器中,具体取决于您的体系结构答:我只是在寻找一个更简单的解决方案,实际上需要一些东西,可以用于一个实例,当用户第二次来时,它不需要工作。但是不是这样的汉克斯!