Javascript 单击按钮后显示另一个(永久)按钮
我试图在单击现有按钮后显示另一个按钮,但我希望创建的新按钮永久保留在页面上,刷新页面时不会消失。有线索吗Javascript 单击按钮后显示另一个(永久)按钮,javascript,html,Javascript,Html,我试图在单击现有按钮后显示另一个按钮,但我希望创建的新按钮永久保留在页面上,刷新页面时不会消失。有线索吗 函数addBtn(){ document.getElementById('btnHolder')。innerHTML=''; } 您可以始终使用浏览器窗口。localStorage如下所示: <body> <div id=btnOne> <input type=button onClick=javascript:addBtn(); value='Cl
函数addBtn(){
document.getElementById('btnHolder')。innerHTML='';
}
您可以始终使用浏览器
窗口。localStorage
如下所示:
<body>
<div id=btnOne> <input type=button onClick=javascript:addBtn(); value='Click' /></div>
<div id=btnHolder></div>
<script>
const buttonStorage = window.localStorage;
console.log(buttonStorage.getItem('button'));
function addBtn(){
document.getElementById('btnHolder').innerHTML = '<input type="button" value="Click" />';
buttonStorage.setItem('button', true);
}
if(buttonStorage.getItem('button')) {
document.getElementById('btnHolder').innerHTML = '<input type="button" value="Click" />';
}
</script>
</body>
const buttonStorage=window.localStorage;
console.log(buttonStorage.getItem('button'));
函数addBtn(){
document.getElementById('btnHolder')。innerHTML='';
buttonStorage.setItem('button',true);
}
if(buttonStorage.getItem('button')){
document.getElementById('btnHolder')。innerHTML='';
}
完全公开:只要像上面的代码示例一样在html正文(最后一行)的末尾包含脚本,它就可以在浏览器中工作,这样它就可以找到html元素。如果用户切换浏览器,仍然只有一个按钮。如果您想要这种功能,就必须在服务器端完成
要了解有关本地存储的更多信息,您可以始终使用浏览器的
窗口。本地存储
如下所示:
<body>
<div id=btnOne> <input type=button onClick=javascript:addBtn(); value='Click' /></div>
<div id=btnHolder></div>
<script>
const buttonStorage = window.localStorage;
console.log(buttonStorage.getItem('button'));
function addBtn(){
document.getElementById('btnHolder').innerHTML = '<input type="button" value="Click" />';
buttonStorage.setItem('button', true);
}
if(buttonStorage.getItem('button')) {
document.getElementById('btnHolder').innerHTML = '<input type="button" value="Click" />';
}
</script>
</body>
const buttonStorage=window.localStorage;
console.log(buttonStorage.getItem('button'));
函数addBtn(){
document.getElementById('btnHolder')。innerHTML='';
buttonStorage.setItem('button',true);
}
if(buttonStorage.getItem('button')){
document.getElementById('btnHolder')。innerHTML='';
}
完全公开:只要像上面的代码示例一样在html正文(最后一行)的末尾包含脚本,它就可以在浏览器中工作,这样它就可以找到html元素。如果用户切换浏览器,仍然只有一个按钮。如果您想要这种功能,就必须在服务器端完成
要了解有关本地存储的更多信息,您可以有一种方法,您可以使用localStorage 基本上,当你进入页面时,如果添加了一些按钮,他会检查存储
localStorage.getItem('addedBtn');
在上面的代码中,检查浏览器存储中是否存在addedBtn键,如果不保留按钮的逻辑(单击将添加btn),但它不仅会添加按钮,还会向存储中添加新条目
localStorage.setItem('addedBtn', 'value');
上面的代码接收密钥,您可以传递该值,在这种情况下,您只需查看存储器中是否已经存在该密钥
完整代码
function addBtn(){
if(localStorage.getItem('addedBtn') != null)
document.getElementById('btnHolder').innerHTML = '<input type="button"
value="Click" />';
localStorage.setItem('addedBtn','anyValueYouWant')
}
}
函数addBtn(){
if(localStorage.getItem('addedBtn')!=null)
document.getElementById('btnHolder')。innerHTML='';
setItem('addedBtn','anyValueYouWant')
}
}
当然还有其他的解决方案,但是我可以想象其他的解决方案需要一个数据库,在这种情况下,浏览器就像您的本地数据库一样工作
希望对您有所帮助有一种方法,您可以使用本地存储 基本上,当你进入页面时,如果添加了一些按钮,他会检查存储
localStorage.getItem('addedBtn');
在上面的代码中,检查浏览器存储中是否存在addedBtn键,如果不保留按钮的逻辑(单击将添加btn),但它不仅会添加按钮,还会向存储中添加新条目
localStorage.setItem('addedBtn', 'value');
上面的代码接收密钥,您可以传递该值,在这种情况下,您只需查看存储器中是否已经存在该密钥
完整代码
function addBtn(){
if(localStorage.getItem('addedBtn') != null)
document.getElementById('btnHolder').innerHTML = '<input type="button"
value="Click" />';
localStorage.setItem('addedBtn','anyValueYouWant')
}
}
函数addBtn(){
if(localStorage.getItem('addedBtn')!=null)
document.getElementById('btnHolder')。innerHTML='';
setItem('addedBtn','anyValueYouWant')
}
}
当然还有其他的解决方案,但是我可以想象其他的解决方案需要一个数据库,在这种情况下,浏览器就像您的本地数据库一样工作
希望它有帮助您可以在用户的浏览器上放置cookie,并检查页面的加载情况,如果cookie存在,如下所示:
<!DOCTYPE html>
<head>
<title>Stack Overflow</title>
<body onload="checkBtn()">
<div id=btnOne> <input type=button onClick=javascript:addBtn(); value='Click' /></div>
<div id=btnHolder style="display:none"><input type="button" value="Click" /></div>
<script>
function addBtn(){
if(getCookie("btn"))
document.getElementById('btnHolder').style.display = '';
document.getElementById('btnHolder').style.display = '';
setCookie("btn",true,5);
}
function checkBtn(){
if(getCookie("btn"))
document.getElementById('btnHolder').style.display = '';
}
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname){
return (document.cookie.match('(^|; )'+ cname +'=([^;]*)')||0)[2]
}
</script>
</body>
如下所示:您可以在用户的浏览器上放置一个cookie,并检查页面的加载是否存在cookie,如下所示:
<!DOCTYPE html>
<head>
<title>Stack Overflow</title>
<body onload="checkBtn()">
<div id=btnOne> <input type=button onClick=javascript:addBtn(); value='Click' /></div>
<div id=btnHolder style="display:none"><input type="button" value="Click" /></div>
<script>
function addBtn(){
if(getCookie("btn"))
document.getElementById('btnHolder').style.display = '';
document.getElementById('btnHolder').style.display = '';
setCookie("btn",true,5);
}
function checkBtn(){
if(getCookie("btn"))
document.getElementById('btnHolder').style.display = '';
}
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname){
return (document.cookie.match('(^|; )'+ cname +'=([^;]*)')||0)[2]
}
</script>
</body>
类似于:要执行此操作,您需要将该配置存储在cookie()或本地数据库()中。要执行此操作,您需要将该配置存储在cookie()或本地数据库()中。@Flory您的问题有进展吗?@Flory您的问题有进展吗?