You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在上传图片上绘制四个点?现有单点绘制代码求改造

实现四个独立标记点的绘制方案

没问题!你现在的代码只用到了单个标记元素,每次操作都会覆盖它的位置,自然只能显示一个点。要实现四个独立点,咱们只需要创建四个独立的标记元素,再分别控制它们的位置就行,具体方案如下:

步骤1:准备多个独立的标记元素

首先在HTML里创建四个带唯一ID的标记元素,初始状态都隐藏:

<!-- 四个独立的标记点,初始隐藏 -->
<img src="null.png" id="marker1" style="position: absolute; display: none;" />
<img src="null.png" id="marker2" style="position: absolute; display: none;" />
<img src="null.png" id="marker3" style="position: absolute; display: none;" />
<img src="null.png" id="marker4" style="position: absolute; display: none;" />

步骤2:编写控制逻辑

如果需要点击页面依次放置四个点,可以用下面的JS代码:

// 记录当前要放置的点的序号
let currentMarkerIndex = 1;

// 绑定页面点击事件
$(document).on('click', function(e) {
  // 未放满四个点时继续
  if (currentMarkerIndex <= 4) {
    $(`#marker${currentMarkerIndex}`)
      .css('left', e.pageX)
      .css('top', e.pageY)
      .show();
    // 切换到下一个待放置的点
    currentMarkerIndex++;
  }
});

如果需要手动指定每个点的固定位置,可以直接单独控制每个标记元素:

// 设置第一个点的位置并显示
$('#marker1').css({left: 150, top: 100}).show();
// 设置第二个点的位置并显示
$('#marker2').css({left: 300, top: 200}).show();
// 设置第三个点的位置并显示
$('#marker3').css({left: 450, top: 100}).show();
// 设置第四个点的位置并显示
$('#marker4').css({left: 300, top: 300}).show();

核心思路说明

原来的代码只有一个<img>元素,每次修改它的位置都会覆盖之前的状态,所以只能显示一个点。通过创建四个独立的元素,每个元素对应一个点,它们的位置和显示状态互不影响,就能实现四个独立点的绘制啦!

内容的提问来源于stack exchange,提问作者P Lau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:50:00