gpt4 book ai didi

javascript - Xul:用垂直盒子动态填充水平盒子会导致元素垂直放置

转载 作者:行者123 更新时间:2023-12-02 20:26:15 28 4
gpt4 key购买 nike

我尝试使用以下代码在运行时使用 vboxes 元素填充 hbox 元素:

Xul 代码:

<hbox style="overflow:auto;" id="canvasContainer"> </hbox>

Javascript代码:

  this.canvasContainer = document.getElementById("canvasContainer");
for(var i = 0;i<k;i++){
let imgCanvas = document.createElementNS("http://www.w3.org/1999/xhtml",'html:canvas');
imgCanvas.setAttribute("width",200);
imgCanvas.setAttribute("height",150);
imgCanvas.getContext("2d").fillRect(0,0,200,150);
let canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');
this.canvasContainer.appendChild(canvasVbox);

let canvasLabel = document.createElement("label");
canvasLabel.setAttribute("value",i);
canvasLabel.setAttribute("flex",1);
canvasVbox.setAttribute("flex",1);
canvasVbox.appendChild(imgCanvas);
canvasVbox.appendChild(canvasLabel);

this.canvasContainer.appendChild(canvasVbox);
}

这会导致 Canvas 和标签垂直显示在另一个下方。你知道问题可能出在哪里吗?难道不能动态填充框吗?这是 Xulrunner 中的错误吗?您是否知道不使用网格的可能解决方法?

最佳答案

问题出在这行:让 canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');

VBox不是xhtml的一部分,而是xul语法的一部分,所以我只需要将“http://www.w3.org/1999/xhtml”替换为“http://www.mozilla.org/keymaster”/gatekeeper/there.is.only.xul”,现在它可以工作了。

关于javascript - Xul:用垂直盒子动态填充水平盒子会导致元素垂直放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804287/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com