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

JavaScript类方法实现:先显示前两张图再随机选一张进化图

实现Eevee类handleClick方法的逻辑方案

首先,我们需要在Eevee类中添加状态变量追踪点击次数与切换状态,再在handleClick方法里按需求分支处理:

class Eevee {
  constructor() {
    // 图片数组结构:[精灵球, 初始伊布, 水伊布, 雷伊布, 火伊布, ...]
    this.imageArray = ['pokeball.png', 'eevee.png', 'vaporeon.png', 'jolteon.png', 'flareon.png'];
    this.clickCount = 0; // 记录点击次数
    this.isStopped = false; // 标记是否停止切换
    // 初始显示第1张(数组索引0)
    this.displayImage(this.imageArray[0]);
  }

  // 替换成你项目中实际更新图片的DOM逻辑
  displayImage(imageSrc) {
    const imgElement = document.getElementById('eeevee-image');
    if (imgElement) {
      imgElement.src = imageSrc;
    }
  }

  handleClick() {
    // 已停止切换则直接返回
    if (this.isStopped) return;

    this.clickCount++;

    switch(this.clickCount) {
      case 1:
        // 第一次点击:显示第2张(初始伊布,数组索引1)
        this.displayImage(this.imageArray[1]);
        break;
      case 2:
        // 第二次点击:从包含初始伊布的进化图池里随机选一张
        const evolutionPool = this.imageArray.slice(1);
        const randomIndex = Math.floor(Math.random() * evolutionPool.length);
        this.displayImage(evolutionPool[randomIndex]);
        // 切换完成后停止后续操作
        this.isStopped = true;
        break;
    }
  }
}

核心逻辑说明

  • 状态控制:用clickCount统计点击次数,isStopped防止后续点击触发无效切换
  • 初始状态:类实例化时直接显示数组第1项(精灵球)
  • 第一次点击:切换到数组第2项(初始伊布)
  • 第二次点击:从索引1开始的数组片段(包含初始伊布和所有进化型)中随机选取图片,完成后锁定状态不再响应点击

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:36:23