寻求建立一个桌子座位/规划应用程序。目前有一个圆桌会议,我可以使用stackoverflow上找到的代码动态添加椅子。功能是计算桌子周围每个座位的x,y绝对位置。
https://www.dropbox.com/s/4kvb0vre0dwtc0i/table.mov?dl=0
视频显示了我到目前为止所获得的内容。
对任何对此代码感兴趣的人都是
export const calcRoundDimensions = (totalChairs, chairSize) => {
var chairspos = [];
var squareSize = chairSize * 2;
for (var i = 0; i < totalChairs; i++) {
var top = String(squareSize/2 + (-squareSize/2-chairSize) * Math.cos((360 / totalChairs / 180) * (i + 0) * Math.PI)) + 'px';
var left = String(squareSize/2 + (squareSize/2+chairSize) * (true ? Math.sin((360 / totalChairs / 180) * (i + 0) * Math.PI) : -Math.sin((360 / totalChairs / 180) * (i + 0) * Math.PI))) + 'px';
chairspos.push({top:top, left:left});
}
return {chairpos:chairspos, size:squareSize+chairSize};
}
我希望用正方形做同样的事情(也是长方形的,但首先是第一件事。)
方形表将是固定宽度(150px)。我看起来也能顺时针添加椅子,让它们在侧面居中。 (将会有12或16个主席限制,但这不应该是我想的。)
矩形表的两端都有一把椅子,然后可以在每个较长的一端添加5或6把椅子。
搜索了网站,但无法找到更多方向。
任何帮助将不胜感激!
答案 0 :(得分:0)
不是很清楚您需要什么,但以下将获得元素的位置与页面的绝对顶部和左侧相比:
const box = element.getBoundingClientRect();
const elementPosition = {
x:box.x+window.scrollX,
y:box.y+window.scrollY
};