【发布时间】:2023-04-08 05:40:01
【问题描述】:
我最近一直在搞乱 Raphael.js,我遇到了关于每个 Raphael 对象位置的问题。
我想创建任意数量的“画布”,但将它们排列在一个 div 中,并且已经定位在页面上。我一直在想办法让它们表现得像块元素,但还没有找到答案。每个新的 raphael 对象都放置在任何 div 之外。
这是html:
...
#content{height:100%; width:980px; margin:0 auto;}
</style>
</head>
<body>
<div id="content"></div>
...
和javascript:
var previews = [];
var prevSize = 25;
var spacing = 10;
//get container
var container = document.getElementById('content');
//get container width
var containerWidth = parseInt(getComputedStyle(container,"").getPropertyValue('width'));
var prevsPerRow =containerWidth/(prevSize+spacing);
var rowsPerPage = 20;
for(var y=0; y<rowsPerPage-1; y++){
for(var x=0; x<prevsPerRow; x++){
var preview = Raphael((x*prevSize)+(x*spacing), (y*prevSize)+(y*spacing),prevSize, prevSize);
previews.push(preview);
}
}
for(var x=0; x<previews.length-1; x++){
var temp = previews[x];
var rectangle =temp.rect(0,0,prevSize,prevSize);
rectangle.attr('fill','black');
}
我正在考虑的一个解决方案是简单地将所需 div 的偏移量添加到对象的 x 和 y 坐标,但这似乎不是最好的解决方案。
感谢您的帮助!
edit:这是一个 jsfiddle,可以帮助我准确地阐明我的意思。 http://jsfiddle.net/xpNBr/
【问题讨论】:
标签: javascript html css svg raphael