HTML“范围”输入问题

用户7467548

我正在尝试编写一个滑块程序,当范围设置为最大时,它将用蓝色方块覆盖整个方形画布。但是我遇到了两个问题:

  1. 移动我的滑块时,它会生成一个矩形而不是正方形。

  2. 我的滑块正方形的最大值只覆盖了画布的不到一半。

我正在 Codepen 上做我的项目,我的滑块代码如下。如果您需要完整的详细信息,访问我的笔的链接:https : //codepen.io/drummerlover33/pen/EXdobV

function doSquare() {
  var slider = document.getElementById("colorSlider");
  var sliderValue = slider.value;
  var canvas = document.getElementById("mainCanvas");
  var canvasContext = canvas.getContext("2d");
  canvasContext.clearRect(0,0,canvas.width,canvas.height);
  canvasContext.fillStyle = "blue";
  canvasContext.fillRect(0,0,sliderValue,sliderValue);
}

希望对新手有所帮助!

谢谢!

或德罗里

画布widthheight属性不仅是画布的大小,还可以设置其分辨率。如果您不通过属性(或通过脚本)设置width设置height,画布的默认分辨率为300px X 150px

通过 CSS 设置尺寸只会设置画布元素(样式)的外部尺寸。您必须在 canvas 元素上显式设置widthheight属性。

// Remnant function from previous case
function doRed() {
  var canvasElements = document.getElementById("mainCanvas");
  canvasElements.style.backgroundColor = "red";
}
// END of remnant function

var slider = document.getElementById("colorSlider");
var canvas = document.getElementById("mainCanvas");
var canvasContext = canvas.getContext("2d");

function doSquare() {
  var sliderValue = slider.value;
  canvasContext.clearRect(0, 0, canvas.width, canvas.height);
  canvasContext.fillStyle = "blue";
  canvasContext.fillRect(
    0,
    0,
    sliderValue,
    sliderValue
  );
}

function doColor() {
  var canvasElements = document.getElementById("mainCanvas");
  var pickedColor = document.getElementById("colorInput").value;
  canvasElements.style.backgroundColor = pickedColor;
}
<h1>Inputs and Events</h1>
<canvas id="mainCanvas" height="100px" width="100px"></canvas>

<p>
  <input type="range" min="0" max="100" value="0" id="colorSlider" oninput="doSquare()">

  <input type="color" value="#ffffff" id="colorInput" onchange="doColor()">
</p>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

输入值范围较大的问题

来自分类Dev

翻转范围/滑块输入html

来自分类Dev

html输入栏位设定范围

来自分类Dev

翻转范围/滑块输入html

来自分类Dev

css垂直输入范围宽度问题

来自分类Dev

使用HTML + CSS显示输入范围

来自分类Dev

Ember的HTML5范围输入

来自分类Dev

HTML输入范围的值,getattribute与值

来自分类Dev

对范围输入禁用HTML5拖放

来自分类Dev

HTML输入范围隐藏缩略图

来自分类Dev

HTML范围输入对尝试移动无响应

来自分类Dev

HTML/CSS 输入焦点超出范围

来自分类Dev

嵌套HTML元素的角度范围问题

来自分类Dev

输入框范围归因出现问题

来自分类Dev

表单输入对齐问题(HTML / CSS)

来自分类Dev

通过php输入html文件的问题

来自分类Dev

js验证(来自html输入)问题

来自分类Dev

iPhone上的html / css输入焦点问题

来自分类Dev

输入范围

来自分类Dev

如何正确验证HTML输入中的数字范围?(角度2)

来自分类Dev

HTML5输入类型范围从正到负

来自分类Dev

设置垂直HTML5范围输入的样式

来自分类Dev

Capybara fill_in用于HTML5输入范围

来自分类Dev

HTML5输入类型范围-非线性序列?

来自分类Dev

HTML5范围输入中的上下填充样式

来自分类Dev

是否可以链接范围和数字HTML输入?

来自分类Dev

HTML5输入范围:允许“最小”大于“最大”(从到)

来自分类Dev

HTML5画布-输入类型范围

来自分类Dev

将HTML滑块的“最大”范围绑定到输入字段的值