2010-07-21 80 views
0

我有一个项目列表中有一个背景图像(通过CSS)和一些文本。简单的标记如下:创建一个列表项目(javascript)

<ul> 
    <li>List item 1</li> 
    <li>List item 2</li> 
    <li>List item 3</li> 
    etc... 
</ul> 

试想一下,每个列表项目是一个正方形。有没有简单的方法将它们显示为半圆形?即

[][] 
[] [] 
[]  [] 

我们使这个稍微复杂一些,有个变量 - 列表项的数量是未知的,所以我需要工作,这一点对飞。我可以很容易地计算出每个列表项的宽度,以便它在x-xis上看起来正确,但我只是在y轴上遇到问题。

任何帮助感激地接受。

感谢您的时间 嗅探器

+1

我不知道你的意思开心的脸,悲伤的面孔是什么,我们可以看到,你有什么? – 2010-07-21 07:50:57

+0

':o)'vs.':o(',我想,但你需要一个草图或其他什么东西 – Kobi 2010-07-21 07:52:24

+0

我的意思是在'n'而不是'u'中是半圆形,这有帮助吗? – Sniffer 2010-07-21 07:58:11

回答

2

你的弓被分为item_count-1片,一个完整的圆是2PI弧度,您只使用一个半圆(1PI)。将总数(1Pi)除以切片数(item_count)并将其中的Sin乘以拱的高度。

在Javascript:

for(var i=0; i<item_count; i++){ 
    var angle=Math.PI/(item_count - 1), 
     y=(1-Math.sin(angle * i))*arch_height; 
    //set the items CSS 'top' property to y 
} 
+0

喜欢它!太感谢了。 – Sniffer 2010-07-21 09:05:16

相关问题