我正在寻找创建一个菜单布局类似于amazon.com的网页,我可以有嵌套的菜单,并包括每个菜单项下的小说明文本。是否有任何jquery插件模仿amazon.com菜单布局
在我开始创建这个从头开始,我想看看是否有一个jQuery插件,模仿这种布局和功能
我正在寻找创建一个菜单布局类似于amazon.com的网页,我可以有嵌套的菜单,并包括每个菜单项下的小说明文本。是否有任何jquery插件模仿amazon.com菜单布局
在我开始创建这个从头开始,我想看看是否有一个jQuery插件,模仿这种布局和功能
这里是一个确切外观类似http://jsfiddle.net/blackpla9ue/KHLgm/8/
快速CSS唯一的解决办法我设法得到在几分钟内完成。悬停在下拉菜单的第二个项目上。
它非常简单和直接,如果你需要任何修改添加到只是让我知道。
不错,它看起来就像亚马逊上的那个,但它不是一个插件。 – 2012-03-04 08:29:39
很高兴你喜欢它。它不是一个插件,但所有你需要做的就是包含css部分并将css类调用到你的'ul'中 – blackpla9ue 2012-03-04 08:42:14
一下,我以为你可以先创建一个下拉菜单,稍后再添加描述,稍微看看这个例子,它是非常基本的: http://webdesignerwall.com/tutorials/css3-dropdown-menu 或这里: http://woork.blogspot.com/2008/01/simple-css-vertical-menu-digg-like.html
我已经检查单元上亚马逊和我发现,他们做同样的方式,他们只是增加了一类风格吧:
<div class="navSaTagLine tiny">Vibrant color, movies, apps, and more</div>
只是做一个下拉菜单第一和补充说明你要!
有maaaaany jQuery插件已经做到这一点,但这里有一个小插件,我裹在10分钟内:
(function($,window,undefined){
var o;
$.fn.amazonLikeMenu = function(data,options){
o = $.extend({},options,$.fn.amazonLikeMenu.defaultOptions);
return this.each(function(){
createMenu($(this).addClass(o.classPrefix + '_container'),data);
});
};
$.fn.amazonLikeMenu.defaultOptions = {
classPrefix : "menu",
eventPrefix : "menu"
};
function createMenu(container,data,options){
container.data('initial_data',data);
var ul = $('<ul />').addClass(o.classPrefix + '_ul').appendTo(container),
liTemplate = $('<li />').addClass(o.classPrefix + '_li'),
descTemplate = $('<span />').addClass(o.classPrefix + '_desc'),
linkTemplate = $('<a href="#"/>').addClass(o.classPrefix + '_link'),
hTemplate = $('<h3 />').addClass(o.classPrefix + '_link');
$.each(data,function(i,el){
var li = liTemplate.clone().appendTo(ul);
if(el.title && el.link)
if(typeof el.link === 'string')
linkTemplate
.clone()
.text(el.title)
.attr('href',el.link)
.appendTo(li);
else
{
createMenu(li.addClass(o.classPrefix + '_has_submenu').append(hTemplate.clone().text(el.title)),el.link,o);
}
if(el.desc)
descTemplate
.clone()
.text(el.desc)
.appendTo(li);
});
};
})(jQuery,window)
你的菜单项包括对象的集合(有用的,如果你生成菜单动态地使用来自服务的数据):
[
{
title : 'link 1',
link : '#page1'
},
{
title : 'link 2',
link : '#page2',
desc : 'this is an awesome link'
},
{
title : 'link 3',
link : [
{
title : "submenu link1",
desc : "sample description",
link : "#submenu_link_1"
},
{
title : "submenu link2",
link : "#submenu_link_2"
},
{
title : "submenu link3",
desc : "sample description",
link : "#submenu_link_3"
}
],
desc : 'I have a submenu'
},
{
title : 'link 3',
link : '#page3',
desc : 'I dont have a submenu :(('
}
];
这里是演示:http://jsfiddle.net/gion_13/6QXZt/。
它是可定制的,所以它可以调整到完全一样的亚马逊。
P.S. :必须记住,在这种情况下,CSS角色比jquery/javascript更大。
这里是一个光滑的 - http://www.designchemical.com/lab/jquery-vertical-mega-menu-plugin/examples/。
或为简单的事情 - http://qrayg.com/experiment/cssmenus。
我不认为有很多基本的(像亚马逊)垂直菜单插件与“浮动”漂浮,因为它们很容易创建只与HTML/CSS一个人。亚马逊菜单可能完全没有任何JavaScript。
一旦你建立了一个很好的CSS菜单(可访问性加分),你可以很容易地转换为CSS悬停动作
例如li:hover > ul {display:block}
到一些jQuery的
$('li').hover(function(){ $(this).children('ul').show(200); })
。
不要听这些小丑。你想要一个是测试许多网站和调试和是跨浏览器。有多少这些“看着我”菜单处理闪光灯或选择菜单后面的元素?有多少顺利动画和开 - 悬停不是onmouseover?多少可以轻松切换到水平在另一个项目上没有学习更多的css类名和一个新的API?
无论如何,答案是快鱼:
http://users.tpg.com.au/j_birch/plugins/superfish/#examples(垂直形式)
本Kamen实施了一个很好的,像原来一样工作。请参阅Github here上的代码。他写了一个关于这个话题的interesting post in his blog。
您希望支持哪些浏览器?这可以很容易地使用CSS来完成。 – 2012-03-03 21:00:34