Javascript 如何更改具有递增值的HTML元素?
当我进入页面时,我有0个cookies要开始。我做了一个if声明,说如果少于10个cookie,隐藏升级按钮。我正在单击并将值增加1。当我达到10个cookie时,如何显示升级按钮?是用事件监听器还是什么Javascript 如何更改具有递增值的HTML元素?,javascript,html,Javascript,Html,当我进入页面时,我有0个cookies要开始。我做了一个if声明,说如果少于10个cookie,隐藏升级按钮。我正在单击并将值增加1。当我达到10个cookie时,如何显示升级按钮?是用事件监听器还是什么 var cookies = 0; var cookieClick = 1; function getCookie() { cookies += cookieClick; document.getElementById('cookieCount').innerHTML = co
var cookies = 0;
var cookieClick = 1;
function getCookie() {
cookies += cookieClick;
document.getElementById('cookieCount').innerHTML = cookies;
document.getElementById('img').style.visibility = 'visible';
}
if (cookies < 10) {
document.getElementById('up').style.visibility = 'hidden';
}
function upgrade() {
cookieClick *= 2;
document.getElementById('up').style.visibility = 'hidden';
alert('You have x2 the clicks!')
}
var=0;
var-cookieClick=1;
函数getCookie(){
cookies+=cookieClick;
document.getElementById('cookieCount')。innerHTML=cookies;
document.getElementById('img').style.visibility='visible';
}
如果(cookies<10){
document.getElementById('up').style.visibility='hidden';
}
功能升级(){
cookieClick*=2;
document.getElementById('up').style.visibility='hidden';
警报('您有两次咔哒声!')
}
是的,onClick事件侦听器可以检查您当前的cookie计数,并切换升级按钮以查看可见性 if(cookies<10){不是任何函数的一部分,因此它在页面加载时只运行一次。您可能希望将其包含在getCookie()函数中,并在需要时使用else
显示升级按钮
function getCookie() {
cookies += cookieClick;
document.getElementById('cookieCount').innerHTML = cookies;
document.getElementById('img').style.visibility = 'visible';
if (cookies < 10) {
document.getElementById('up').style.visibility = 'hidden';
} else {
document.getElementById('up').style.visibility = 'visible';
}
}
函数getCookie(){
cookies+=cookieClick;
document.getElementById('cookieCount')。innerHTML=cookies;
document.getElementById('img').style.visibility='visible';
如果(cookies<10){
document.getElementById('up').style.visibility='hidden';
}否则{
document.getElementById('up').style.visibility='visible';
}
}
(但如果cookie值从未减少,您可以通过加载初始隐藏元素的页面并只检查cookies>10
来显示它来简化此操作。)b1
b2
var=0;
var-cookieClick=0;
函数递增计数(){
cookieClick=cookieClick+1;
console.log(cookieClick)
如果(cookieClick==10){
document.getElementById('b2').style.visibility=“可见”
}
}
函数某物{
警惕(“我工作”)
}
您可以尝试这段简单的代码。在
cookies+=cookieClick;
之后,对照10
检查值并显示按钮。(我假设您已经将getCookie
设置为cookie单击的事件侦听器)。最好显示您的HTML代码,这样我们才能知道您是如何触发代码的,您需要检查10Love这个值。但有一个问题。升级后,我希望该升级完全消失,并在我到达另一个里程碑时添加另一个升级按钮。升级时,它会消失,但在我达到10AG时会返回艾恩。对不起,我对javascript如此陌生。我真的只知道最基本的东西。很惊讶我竟然走到了这一步!哈哈,一个循环是否能解决它?这是一个独立的问题,但是:如果升级已经发生,你想让getCookie不显示按钮。升级函数将cookieClick乘以2。所以在getCookie中,else
子句使按钮可见,您需要添加另一个if
语句来检查cookieClick的值,并且只有当它仍然为1时才使按钮可见。Duh,这太明显了。谢谢!但是这有一个问题。在我按下cookie按钮之前,升级按钮仍然显示。if(cookieClick==2){document.getElementById('up').style.visibility='hidden';}这是我做的代码,它可以工作,但它只有在我点击获取更多cookie后才被隐藏。我有点不知道你想在什么时候看到哪个按钮,但是如果你需要一个隐藏的按钮,只要将其可见性设置为隐藏在CSS中就可以了。这实际上只是一个通过逻辑思考你想要什么的问题程序流程——从初始状态开始,考虑什么情况会改变该状态,以及在那个时候你需要什么信息来控制状态如何变化。对于初学者来说,很容易被语法和语言结构挂住,而忘记仅仅思考一个计划……计划占到了工作的90%不过,这是一个程序。最好先坐下来写一个英语或伪代码版本的程序;这样可以在深入研究代码本身之前澄清逻辑,从而知道需要编写什么代码。
<button onclick="incrementCount()"> b1 </button>
<button id="b2" style="visibility:hidden" onclick="something()">b2</button>
<script>
var cookies = 0;
var cookieClick = 0;
function incrementCount(){
cookieClick = cookieClick + 1;
console.log(cookieClick)
if(cookieClick == 10){
document.getElementById('b2').style.visibility = "visible"
}
}
function something(){
alert('i work')
}
</script>