Javascript直到加倍

时间:2016-10-29 01:28:19

标签: javascript jquery html math while-loop

我一直在研究这个问题几个小时,但无法解决它。试图在网上搜索大量不同的关键词,但没有。

我认为这很简单,但我无法理解,我不能。

我有一个div,可以在点击时增加值。

我的代码中发生的事情是: 当我单击.button时,它会将+10加到VALUE div的值。

<div class="button">click me +10</div> 

<div class="value">10</div>

点击.button;它将.value div的内容更改为20(加10) 这已经在脚本上完成了。

我正在尝试使用Javascript现在点击按钮,直到使其成为现有金额的两倍。

我要做的是,在innerHtml上获取数字并单击我的+10按钮,直到得到它的两倍值。让我用我的错误的代码字符串来解释它。

HTML内容;

<div class="value">10</div>

的Javascript;

var i = parseInt($('.value').html());
var iz = i * 2;
while (i > iz) {

   $('.div').click();

} 

通过许多其他方式尝试,例如;

var i = $('.value').html();
var iz = i * 2;
do {
$('.div').click();
} while (i == iz);

请帮我解决一下。我需要的是做某事(例如点击按钮),直到它达到HTML内容中写入的当前金额的两倍。基本上是它的倍增。我知道如何进行数学运算,但它不适用于While命令。

记住它的HTML内容,而不是输入。我不能改变它输入

感谢。

BIG BOLD EDIT: 对不起被误解了。让我解释一下我正在做的所有事情已经,我想做现在

我有一个div,可以在点击时增加值。

我的代码中发生的事情是: 当我单击.button时,它会将+10加到VALUE div的值。

<div class="button">click me +10</div> 

<div class="value">10</div>

点击.button;它将.value div的内容更改为20(加10) 这已经在脚本上完成了。

我正在尝试使用Javascript现在点击按钮,直到使其成为现有金额的两倍。无论如何:)

2 个答案:

答案 0 :(得分:0)

如果您想模拟点击,这不是您所需要的:

$('.div').click();

因为当您想要处理点击事件时,click()会被使用。

而是使用它:

$('.div')[0].click();

您将获得DOM元素并单击它。

希望它有所帮助。

答案 1 :(得分:0)

&#13;
&#13;
var div = document.getElementsByClassName('clickme')[0];
var i = document.getElementById("value").innerHTML;
var iz = parseInt(i,10) * 2;
 div.addEventListener('click', function (event) {
 	document.getElementById("value").innerHTML = parseInt(i,10) + 1;
  if (i<iz-1){
  	i++;
  }
 });
&#13;
<div class="clickme" id = "value" >
10
</div>
&#13;
&#13;
&#13;

编辑我的答案,允许单个增加原始值,直到它加倍。你的问题很难理解(语言障碍),但我希望这会有所帮助。

编辑添加

如果要将div值递增直到达到double(自动),则可以执行以下操作:

&#13;
&#13;
var div = document.getElementsByClassName('clickme')[0];
var i = document.getElementById("value").innerHTML;
var iz = parseInt(i,10) * 2;

 window.setInterval(function() {
 if (i<iz){
    document.getElementById("value").innerHTML = parseInt(i,10) + 1;
  
  	i++;
  }
}, 1000);
&#13;
<div class="clickme" id = "value" >
10
</div>
&#13;
&#13;
&#13;