抱歉,如果标题解释得不好,我有这个页面,有两个按钮和一个文本块,一个用于增加文本大小,另一个用于减少文本大小。我想在文本达到最大或最小大小时禁用每个按钮。例如:
点击“放大”按钮,如果文本达到最大大小,则禁用该按钮。点击“较小”按钮,如果文本达到最小大小,则禁用该按钮。
我尝试在onhtml函数中使用下一个if语句:
if(currentSize== "66.6667pt"){bigger.disabled=true;}
其中66.6667pt是文本在保持固定前达到的大小。另一种情况下,最小尺寸为6.75磅。
我不知道是否有更好的方法来验证文本是否达到其最小/最大大小,但这种方法不起作用,“较大”按钮在文本第二次达到66.6667pt时被禁用,“较小”按钮从未被禁用。
这是整个html:
<!DOCTYPE html>
<html>
<head lang="es">
<title>Find Bug Script</title>
<meta charset="utf-8">
<style>
</style>
<script>
window.onload=function(){
var smaller = document.getElementById("smaller");
var hello = document.getElementById("hello");
if(!hello.style.fontSize){hello.style.fontSize="12pt";}
var factor=0.75;
bigger.onclick=function(){
var currentSize=hello.style.fontSize;
if(currentSize== "66.6667pt"){bigger.disabled=true;}
var csz = parseInt(currentSize.replace("24pt", ""));
if(csz > 60) return;
csz/=factor;
hello.style.fontSize= csz+"pt";
}
smaller.onclick=function(){
if(hello.style.fontSize== "6.75pt"){smaller.disabled=true;}
var currentSize=hello.style.fontSize;
var csz = parseInt(currentSize.replace("24pt", ""));
if(csz <= 6) return;
csz*=factor;
hello.style.fontSize= csz+"pt";
}
};
</script>
</head>
<body>
<input type=button value="Bigger" id="bigger"/>
<input type=button value="Smaller" id="smaller" />
<h1 id="hello" maxlength="5">¡Hello!</h1>
</body>
这是我的第一个HTML/JS类,所以,让我们努力学好它。谢谢你抽出时间!
我会:
if(parseInt(currentSize)> 66){bigger.disabled=true;}
如果至少我明白你的问题。
您的按钮没有被禁用,因为条件currentSize==“66.6667pt”
从来都不是真的。看起来您要处理两次禁用状态,因为除了禁用按钮,如果大小小于60,您的函数还会提前返回:
if(csz > 60) return;
因此,在点击几次之后,你的尺寸最终会达到65.333pt,这可以防止它在后续的点击中变大,但它永远不会满足禁用按钮的条件。
您认为最大允许大小有两种不同的东西:一个地方是60,另一个地方是66.6667。试着定义一次,然后在两个地方都使用它:
var maxSize=60;
bigger.onclick=function(){
var currentSize=hello.style.fontSize;
if(parseFloat(currentSize)> maxSize){bigger.disabled=true;}
var csz = parseInt(currentSize.replace("24pt", ""));
if(csz > maxSize) return;
csz/=factor;
hello.style.fontSize= csz+"pt";
}
这是一个工作样本。试着为自己做同样的事情。一旦他们再次缩小文本,你也可以尝试重新启用按钮。
直接在fontsize属性上执行数学有点混乱。
与其每次都试着读出文本大小,我只需要在我的javascript代码中保留一个“步进器”变量,它可以跟踪你所处的字体大小“步进”。然后我会把步进器中的存储值插入某个公式中,得出最终的字体大小。要约束大小,您可以确保“步骤”高于或低于某些值。
比如:
var factor = 0.75;
var step = 0;
bigger.onclick = function() {
step++;
step = Math.min(step, 4) // Step can never go above 4
reloadText();
}
smaller.onclick = function() {
step--;
step = Math.max(step, -4) // Step can never go below -4
reloadText();
}
function reloadText() {
// 14 is the default size, in points.
// If step is equal to zero, there will be no change in size.
// If step is below zero, the font will be smaller.
// If step is above zero, the font will be larger.
var size = 14 + (step*factor);
hello.style.fontSize= size+"pt";
if (step >= 4) {
// Disable "bigger" button
} else {
// Enable "bigger" button
}
if (step <= -4) {
// Disable "smaller" button
} else {
// Enable "smaller" button
}
}
我将GLFW3.2与LWJGL和Java一起使用。 我想删除窗口上的最大化和最小化按钮,而窗口保持可调整大小,我找不到任何方法在glfw留档中做到这一点。 我见过这个解决方案,但它只适用于窗口,使用C,我正在寻找的解决方案需要跨平台。 是否有可能使用glfw实现这一点?或者我应该使用一个未装饰的glfw窗口并绘制自己的标题栏?
问题内容: 上下文:我正在构建一个读取rss feed并在后台更新/检查feed的小站点。我有一个数组来存储要显示的数据,另一个数组来存储已显示的记录的ID。 问题:在事情变慢或变慢之前,数组可以在Javascript中容纳多少个项目。我没有对数组进行排序,但是正在使用jQuery的inArray函数进行比较。 该网站将保持运行状态,并进行更新,并且不太可能经常重启/刷新浏览器。 如果我想从数组中
问题内容: 所以基本上我正在生成随机的10000个IP地址,我想存储在HashSet中找到的所有那些IP地址,但是根据我的计算,发现了大约6000个IP地址,但是在HashSet中仅存储了700个IP地址?HashSet在存储String方面是否有任何限制。任何建议将不胜感激。 问题答案: 就您而言,没有限制(限制是数组的最大大小,即2 ** 31)。 但是,仅存储 唯一 值,因此我的猜测是您仅生
这听起来可能像是JavaFX ImageView设置的最大大小的重复,但它是不同的。 我想限制ImageView的最大大小。不幸的是,设置ImageView大小的唯一方法似乎是fitWidth和fitHeight,但是如果图像小于配合值,则会放大图像。 我尝试将fitWidth/fitHeight设置为0/0,并将ImageView包装到设置了maxWidth的窗格中-没有成功(图像以原始大小显示
问题内容: 为什么会限制其大小? 我浏览了一些链接:http : //www.coderanch.com/t/540346/java/java/maximum-size-hold- String-buffer 。 是因为count成员变量是int吗? 假设我们有2 ^ 31-1个字符,并在其中追加了一些字符。Count成员变量将增加附加的字符数,如果Count变量已经达到最大值(2 ^ 31-1)
我想写一个基准来跟踪执行一些Java代码所需的最大、最小和平均时间。 我读了关于JMH(JavaMicro基准线束),它似乎符合我的需求,但我不太确定我应该使用哪种模式: > 通过在有时限的迭代中连续调用基准方法并计算我们执行该方法的次数来测量原始吞吐量。 这似乎不是我想要的。 测量执行基准测试方法所需的平均时间。 这应该是我需求的三分之一。 衡量单个基准方法执行运行所需的时间。 这似乎不是我想要