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

旧版井字棋平局时图片无法显示问题及免费线下编程学习咨询

问题解答

问题1:井字棋平局时图片无法显示的修复方案

兄弟,你这代码的核心问题太明显了——你拿div元素去调用canvas专属的API,肯定行不通啊!getContext("2d")是<canvas>标签独有的方法,你那个rend是div,根本没有这个属性,所以绘图代码完全没效果。不过你已经在div里放了个隐藏的img标签,直接用它就好,不用绕canvas的弯路。

最简单的修改方法:

直接把JS里的绘图代码换成显示隐藏图片的逻辑,一步到位:

if(turn > 9 && gameOver == false){ 
    document.getElementById("result").innerText = "ELECTORAL TIE! CONGRESS ELECTS JEB BUSH"; 
    // 把隐藏的图片显示出来就行
    document.getElementById("ttie").hidden = false;
}

如果你确实想用canvas来展示图片(比如之后要加特效),那得先把HTML里的div改成canvas:

<h1 id="result"></h1> 
<!-- 把div换成canvas,设置好宽高 -->
<canvas id="rend" height="440" width="318"></canvas>
<!-- 保留这个隐藏的img作为图片资源 -->
<img id="ttie" src="T-tie.png" hidden>

然后JS里要注意等图片加载完成再绘制(不然可能图片还没加载好就画,会显示空白):

const ttieImg = document.getElementById("ttie");
// 先确保图片加载完成
function drawTieImage() {
    if(turn > 9 && gameOver == false){ 
        document.getElementById("result").innerText = "ELECTORAL TIE! CONGRESS ELECTS JEB BUSH"; 
        const ctx = document.getElementById("rend").getContext("2d");
        ctx.drawImage(ttieImg, 0, 0);
    }
}
// 图片加载完成后触发绘制
ttieImg.onload = drawTieImage;
// 如果图片已经加载好了(比如缓存里有),直接调用
if(ttieImg.complete) drawTieImage();

问题2:免费线下编程学习渠道推荐

针对你目前失业的情况,给你推荐几个实实在在的免费线下学习途径:

  • 本地社区大学/继续教育中心:很多地区的社区大学会给失业人群开免费的职业技能培训班,编程基础(HTML/CSS/JS、Python这些)是常见项目,你可以直接去学校的就业服务窗口咨询。
  • 公共图书馆:几乎每个城市的图书馆都有免费的编程小组、线下 workshop,有些还提供免费电脑用,不少图书馆会和本地技术圈合作开入门课,完全免费。
  • 本地技术社区Meetup:比如Python用户组、前端爱好者聚会,这类线下活动大多免费,以实战交流为主,很多老程序员会愿意带新手,还能攒人脉。
  • 就业服务中心/劳动局:各地的公共就业机构都会给失业人员提供免费的技能培训,编程是热门方向之一,去当地的就业服务中心问就行,说不定还有额外补贴。
  • 非营利组织线下学习班:有些专注帮弱势群体提升技能的公益机构,会开免费的编程入门班,有专人带,适合零基础起步,你可以搜搜本地的这类组织。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:11:06