Javascript while()
以下是HTML:Javascript while(),javascript,jquery,Javascript,Jquery,以下是HTML: <form> <textarea id="input1"></textarea> <textarea id="input2"></textarea> <span></span> </form> 每次“c”达到140的倍数时,我需要用“b”加上它, 我试着这样做: while(c%140 == 0){ c=c+b; } 在第140个关键点,是的,它被添加了,
<form>
<textarea id="input1"></textarea>
<textarea id="input2"></textarea>
<span></span>
</form>
每次“c”达到140的倍数时,我需要用“b”加上它,
我试着这样做:
while(c%140 == 0){
c=c+b;
}
在第140个关键点,是的,它被添加了,但下一个关键点(第141个)等“c”返回到它的notihng附加值。如何正确地做到这一点
谢谢。我不能确定我是否正确地阅读了这个问题,但是如果是一个近似值,解决方法可能很简单,只要在添加
a+b
时去掉c
前面的var
。如果希望c
具有持久值,则需要其作用域位于keyup
事件处理程序之外
从小提琴上:
$(function() {
var c = 0;
$("#input2").keyup( function() {
var a = $("#input1").val().length;
var b = $("#input2").val().length;
c=a+b;
if(c%140 == 0){
c=c+b;
}
$("span").html(b);
});
});
请注意,这是一个if
,而不是while
。如果它应该是一个while循环,那么这是一个很容易做出的改变
更新
我想我知道这里发生了什么。您希望跟踪多页SMS消息的字符总数。这个问题的答案不是你直接出来问的
以下是新代码:
$(function() {
$("#input2, #input1").keyup( function() {
var a = $("#input1").val().length;
var b = $("#input2").val().length;
c=a+b;
c+=Math.floor(c/140)*b;
$("span").html(c);
});
});
现在,这当然假设input1保存您的实际消息,而input2保存需要在每个页面上显示的一些文本。如果这是另一种方式,或者这段代码还有其他用途,请告诉我。在其他代码的上下文中while循环在哪里?你正在重置c,每个键都在输入2上。我真的不知道你想要实现什么。你能在@Arun创建一个演示吗?是的,就像奥斯汀做的一样,除了$(“span”).html(c),对不起,刚才编辑的问题。无论如何,谢谢大家。
$(function() {
$("#input2, #input1").keyup( function() {
var a = $("#input1").val().length;
var b = $("#input2").val().length;
c=a+b;
c+=Math.floor(c/140)*b;
$("span").html(c);
});
});