为了账号安全,请及时绑定邮箱和手机立即绑定

单击动态创建的 td 后,如何在 js 中创建一个 div 以填充屏幕?

单击动态创建的 td 后,如何在 js 中创建一个 div 以填充屏幕?

慕斯709654 2022-05-26 17:47:40
我正在创建一个 jeopardy 风格的游戏,如果您单击包含与问题有关的美元金额的动态创建的 td,则问题(已从 Jeopardy API 获得)作为 innerText 放置在动态创建的 div 元素中。单击 td 后,我希望 div 动画并填充整个屏幕。这是一个小片段。handleClick(e) {        let targetID = e.target.id;        if (this.lockboard) return;        for (let x = 0; x < this.width; x++) {            for (let y = 0; y < this.height - 1; y++) {                if (targetID.includes(`${y}-${x}`) && targetID) {                    this.lockboard = true;                    let newDiv = document.createElement('DIV');                    let clickedTD = document.getElementById(`${y}-${x}`);                    console.log(clickedTD);                    newDiv.innerText = this.clues[x][y].question;                    newDiv.classList.add('zoom-in');                    console.log(this.clues[x][y].question);                    console.log(this.clues[x][y].answer);                }                this.lockboard = false;            }        }    }handleClick 是在实例方法中动态创建的 td 上传递给事件监听器的回调。CSS 中的 .zoom-in 类具有以下代码:.zoom-in {    color: white;    position: absolute;    transform: scale(1) translate(100%, 100%);    transition: transform 3s;}TDLR:我想我只是不知道如何在点击 TD 后让 div 动画炸毁并填满整个屏幕
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

该类zoom-in可以将其目标元素扩展到全屏和高度。


.zoom-in {

    color: white;

    position: absolute;

    width: 100vw;

    height: 100vh;

    transition: width 3s, height 3s;

}


查看完整回答
反对 回复 2022-05-26
?
跃然一笑

TA贡献1826条经验 获得超6个赞

尝试添加属性背景颜色。不确定这是否可以解决问题。


.zoom-in {

    background-color: #000;

    color: white;

    position: absolute;

    width: 100vw;

    height: 100vh;

    transition: width 3s, height 3s;

}


查看完整回答
反对 回复 2022-05-26
  • 2 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信