当前位置:首页 > JavaScript

js实现画框

2026-04-07 02:24:03JavaScript

使用 Canvas API 绘制矩形框

在 HTML 中创建一个 <canvas> 元素,通过 JavaScript 获取其上下文并绘制矩形:

<canvas id="myCanvas" width="400" height="200"></canvas>
<script>
  const canvas = document.getElementById('myCanvas');
  const ctx = canvas.getContext('2d');

  ctx.strokeStyle = 'red';  // 边框颜色
  ctx.lineWidth = 3;        // 边框宽度
  ctx.strokeRect(50, 50, 200, 100);  // (x, y, width, height)
</script>

使用 CSS 和 DOM 元素创建边框

通过动态创建 DIV 元素并添加 CSS 样式实现画框效果:

const box = document.createElement('div');
box.style.position = 'absolute';
box.style.border = '2px dashed blue';
box.style.left = '100px';
box.style.top = '100px';
box.style.width = '300px';
box.style.height = '150px';
document.body.appendChild(box);

SVG 实现矢量边框

使用 SVG 创建可缩放的矢量边框:

<svg width="400" height="200">
  <rect x="50" y="50" width="300" height="100" 
        stroke="green" stroke-width="4" fill="none" />
</svg>

实现可拖拽调整的画框

结合鼠标事件实现交互式画框:

const canvas = document.getElementById('interactiveCanvas');
const ctx = canvas.getContext('2d');
let isDrawing = false;
let startX, startY;

canvas.addEventListener('mousedown', (e) => {
  isDrawing = true;
  startX = e.offsetX;
  startY = e.offsetY;
});

canvas.addEventListener('mousemove', (e) => {
  if (!isDrawing) return;

  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.strokeStyle = 'purple';
  ctx.lineWidth = 2;
  ctx.strokeRect(
    startX, 
    startY, 
    e.offsetX - startX, 
    e.offsetY - startY
  );
});

canvas.addEventListener('mouseup', () => {
  isDrawing = false;
});

带圆角的边框实现

使用 Canvas 或 CSS 创建圆角边框:

js实现画框

// Canvas 圆角矩形
ctx.beginPath();
ctx.lineWidth = 4;
ctx.strokeStyle = 'orange';
ctx.roundRect(100, 50, 200, 150, [20]);
ctx.stroke();

// CSS 圆角
const roundedBox = document.createElement('div');
roundedBox.style.border = '3px solid teal';
roundedBox.style.borderRadius = '15px';
roundedBox.style.width = '250px';
roundedBox.style.height = '120px';
document.body.appendChild(roundedBox);

标签: 画框js
分享给朋友:

相关文章

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…