Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 如何更改具有递增值的HTML元素?_Javascript_Html - Fatal编程技术网

Javascript 如何更改具有递增值的HTML元素?

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

当我进入页面时,我有0个cookies要开始。我做了一个if声明,说如果少于10个cookie,隐藏升级按钮。我正在单击并将值增加1。当我达到10个cookie时,如何显示升级按钮?是用事件监听器还是什么

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>