最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - jQuery Circle Navigation - Stack Overflow

programmeradmin0浏览0评论

I have a requirement to have a universe type menu, where there is a main item in the center, and "X" amount of items around it. (ie: sun with planets).

I have searched high and low for an example, and all of the search results points to using css, but this requires manually figuring out the position of the items.

How can I create a menu like this where I can dynamically add items?

I am sure there is some jQuery / javascript example somewhere

I have a requirement to have a universe type menu, where there is a main item in the center, and "X" amount of items around it. (ie: sun with planets).

I have searched high and low for an example, and all of the search results points to using css, but this requires manually figuring out the position of the items.

How can I create a menu like this where I can dynamically add items?

I am sure there is some jQuery / javascript example somewhere

Share Improve this question edited Mar 2, 2010 at 8:22 Dominic Rodger 99.8k36 gold badges203 silver badges217 bronze badges asked Mar 2, 2010 at 8:19 stoicstoic 4,83014 gold badges63 silver badges88 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 4

Did you try searching for pie menus? There are a couple of jQuery Plugins:

  • jQuery - Pie Menu
  • jQuery Canvas Pie Menu

check out jQuery Radmenu - http://tikku./jquery-radmenu-plugin

I've just done a hell of lot of googling for you - but couldn't find anything either.

So, the answer must be - write it for yourself (see, that's fun!).
I found this great resource to help out. It's not JavaScript, but the code could easily be rewritten to help drawing the invisible circle needed to do the trick.

Some sin/cos stuff will probably also be needed - to determine where on the circle your menu points should be, dynamically. It's unfortunately not just as simple as saying 360/numberOfMenus ;-)

I hope this helps you out. Sometimes, the answer is that you have to do it yourself :D

I found this thread too late, because I also built one. You can find it here: http://www.pritaeas/public/jquery/hp/circulate/index.html

It is a jQuery plugin, very small, that positions li items in a circle.

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>