如何设计动态菜单

时间:2013-11-22 05:39:25

标签: javascript jquery html css

基本上,我正在制作一个google drive-esqe网络应用程序,用于处理用户笔记本的存储以及在应用程序中创建的笔记。

对于我的主屏幕,用户将看到所有笔记本都被渲染出来并且可以点击。当用户点击该项目时,该项目会突出显示,并检查其相应的复选框(为什么我们都有,我不知道。)然后菜单栏应该出现在顶部,为用户提供选项在那个笔记本/笔记上表演。

菜单栏是app范围内的导航栏,但菜单仅适用于主页。

问题在于某些菜单选项的功能。应用程序当前所处的方式是用户可以选择多个项目,但是一些菜单选项将在这样做时消失(例如,Open将消失,因为我们一次只想打开一个音符)。我目前不知道如何设计这个。主要是,我不知道如何跟踪突出显示项目的数量(将为下面的突出显示提供一个片段),并且不知道如何在适当的时候使适当的菜单选项显示/消失。现在,我有一个包含所有菜单标题的menubar.ejs,它包含在所有屏幕都可以访问的导航栏中(<% - includemenubar.ejs%>)。

MenuBar.ejs

<ul class="menu">
<li><a href="/home">Home</a></li>
<li><a href="#">Create</a></li>
<li><a href="/selectedNotebook">Open</a></li>
<li><a href="#">Download</a></li>
<li><a href="/share">Share</a></li>
<li><a href="#">Delete</a></li>
</ul>

高亮:

var itemSelect = function(){
$('.searchResult').click(function(){
$(this).toggleClass("highlighted");
var check= $(this).find('.checkbox');
check.prop('checked', !check.prop("checked"));
}

虽然这可能不是解决这个问题的最好方法,但这是我当时想到的唯一方法。

我对所有这些语言都非常陌生,所以对我来说这是一项非常艰巨的任务。任何帮助非常感谢!希望我已经提供了足够的信息,但如果我没有,我会尽力指定更多信息或在需要的地方添加更多信息。

1 个答案:

答案 0 :(得分:0)

要获取突出显示的所有项目,可以使用jquery选择器:

$('.highlighted'); // returns an array of hightlighted items
$('.highlighted').length; // number of highlighted items

问题有点模糊,但在设计方面,尝试根据观点/背景来考虑应用程序,如果我有一个应该能看到的注释吗?