在javascript中,单词大小随大小限制而增加
我正在尝试编写一些脚本,允许用户单击某个对象,每次单击该对象时,字体大小将增加1倍 在我尝试添加while循环以添加大小限制之前,它工作正常在javascript中,单词大小随大小限制而增加,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试编写一些脚本,允许用户单击某个对象,每次单击该对象时,字体大小将增加1倍 在我尝试添加while循环以添加大小限制之前,它工作正常 var fs = $(".word").css('fontSize'); $(".word").click(function() { while (fs <= "25px") { $(this).css('fontSize', (parseInt(fs) + 1) + 'px'); } }); var fs=$(“.word”).c
var fs = $(".word").css('fontSize');
$(".word").click(function() {
while (fs <= "25px") {
$(this).css('fontSize', (parseInt(fs) + 1) + 'px');
}
});
var fs=$(“.word”).css('fontSize');
$(“.word”)。单击(函数(){
而(fs
- 您正在将整数与字符串进行比较,因此类似于12您使用的是字符串比较,而不是数字比较
var fs = +$('.word').css('fontSize'); //gets actual number
while(fs <= 25) { //compares numbers
$(this).css('fontSize', fs + 'px'); //the '+' coerces to string
fs++; //increment the iterator
}
var fs=+$('.word').css('fontSize');//获取实际数字
而(财政司司长)
代码不工作的原因与条件有关。当比较字符串的值时,如'44px'12px'
或'44px'123px'
,它总是false
多加注意
while(fsfs
永远不会改变,所以while
永远不会结束。使用while
真的没有任何意义。无论如何,你不会重新计算fs
。只要使用if
…假设你的代码工作正常,它会立即将其更改为最大值(fs@self我比较了三种运行web服务器的工具。最后,我发现JsBin更简洁。下面是一篇关于原因的文章。@GarrettMaring如果你同意,请单击“正确答案”。我不是javascript专家,但我相信由此产生的while循环不会终止。我猜无限循环只是在某个点w终止当它花费太多时间时。@GarrettMaring您根本不需要while循环。使用if语句就足够了,所以:if(parseInt(fs)<25)
谢谢大家!正如你们所指出的,这是两件事情的组合。我需要与parseInt(fs)进行比较
每次单击is时,我需要从更新的css中重新定义fs
。这将通过单击直接将fs
增加到25。我不认为这是需要的行为。
var fs = +$('.word').css('fontSize'); //gets actual number
while(fs <= 25) { //compares numbers
$(this).css('fontSize', fs + 'px'); //the '+' coerces to string
fs++; //increment the iterator
}
while (fs <= "25px")
while (parseInt(fs) < 25)