Javascript 单击下拉菜单显示div内容
我真的被这件事缠住了。我有一个名为“示例”的下拉菜单,其中包含两个子菜单“submenu1”和“submenu2”。当2个按钮中的任何一个被单击时,它将包含一个图像拇指,该拇指将以lightbox样式显示。但到目前为止,两个拇指都显示出来,这不是我想要的,因为最终的网页将包含数百张图像。根据下面的代码,是否有办法使图像仅在单击一个子菜单时显示。谢谢Javascript 单击下拉菜单显示div内容,javascript,css,html,drop-down-menu,Javascript,Css,Html,Drop Down Menu,我真的被这件事缠住了。我有一个名为“示例”的下拉菜单,其中包含两个子菜单“submenu1”和“submenu2”。当2个按钮中的任何一个被单击时,它将包含一个图像拇指,该拇指将以lightbox样式显示。但到目前为止,两个拇指都显示出来,这不是我想要的,因为最终的网页将包含数百张图像。根据下面的代码,是否有办法使图像仅在单击一个子菜单时显示。谢谢 <!DOCTYPE html> <head> </head> <body> <
<!DOCTYPE html>
<head>
</head>
<body>
<!-- Portfolio Projects -->
<div class="row">
<div class="span3">
<!-- Filter -->
<nav id="options" class="work-nav">
<ul id="filters" class="option-set" data-option-key="filter">
<li class="type-work">CATEGORIES</li>
<li class="dropdown"><a data-toggle="dropdown" class="dropdown-toggle"
>BAPTISM
<b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="selected">BOY CLOTHING</a>
<ul class="dropdown-menu">
<li><a href="#filter" data-option-
value=".boy" tabindex="-1">Clothing</a></li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#">GIRL CLOTHING</a>
<ul class="dropdown-menu">
<li><a href="#filter" data-option-
value=".girl" tabindex="-1">Clothing</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</nav>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</ul>
</nav>
<!-- End Filter -->
</div>
<div class="span9">
<div class="row">
<section id="projects">
<ul id="thumbs">
<!-- gallery starts here -->
<li class="item-thumbs span3 boy"><!-- Fancybox - Gallery Enabled
- Title - Full Image -->
<a class="hover-wrap fancybox" data-fancybox-group="boy"
title="" href="_include/img/work/full/boy_clothing.jpg">
<span class="overlay-img"></span>
</a>
<!-- Thumb Image and Description -->
<img src="_include/img/work/thumbs/boy_clothing.jpg" alt="">
</li>
<li class="item-thumbs span3 girl">
<!-- Fancybox - Gallery Enabled - Title - Full Image -->
<a class="hover-wrap fancybox" data-fancybox-group="girl"
title="" href="_include/img/work/full/girl_clothing.jpg">
<span class="overlay-img"></span>
</a>
<!-- Thumb Image and Description -->
<img src="_include/img/work/thumbs/girl_clothing.jpg"
alt="">
</li>
</ul>
</section>
</div>
</div>
</div>
<!-- End Portfolio Projects -->
</body>
</html>
类别
-
-
-
-
以下是我要做的:
我尽量保持逻辑简单,然后你可以在你的网站上使用类似的东西:)
(如果我错了,请S.O.纠正我!)
CSS:
// 2 event listeners that will run a function when the submenu is clicked:
var sub_menu_1 = document.getElementById( "submenu1" );
sub_menu_1.addEventListener("click", DISPLAY_menu_1 , false);
var sub_menu_2 = document.getElementById( "submenu2" );
sub_menu_2.addEventListener("click", DISPLAY_menu_1 , false);
function DISPLAY_menu_1 () {
// Do whatever CSS you need here, I simply make the entire DIV 'visible':
sub_menu_1.style.visibility = 'visible';
// For good measures, lets make submenu2 'invisible':
sub_menu_2.style.visibility = 'hidden';
}
function DISPLAY_menu_2 () {
// Same in Reverse
sub_menu_2.style.visibility = 'visible';
sub_menu_1.style.visibility = 'hidden';
}
给你的子菜单一个ID
JavaScript:
// 2 event listeners that will run a function when the submenu is clicked:
var sub_menu_1 = document.getElementById( "submenu1" );
sub_menu_1.addEventListener("click", DISPLAY_menu_1 , false);
var sub_menu_2 = document.getElementById( "submenu2" );
sub_menu_2.addEventListener("click", DISPLAY_menu_1 , false);
function DISPLAY_menu_1 () {
// Do whatever CSS you need here, I simply make the entire DIV 'visible':
sub_menu_1.style.visibility = 'visible';
// For good measures, lets make submenu2 'invisible':
sub_menu_2.style.visibility = 'hidden';
}
function DISPLAY_menu_2 () {
// Same in Reverse
sub_menu_2.style.visibility = 'visible';
sub_menu_1.style.visibility = 'hidden';
}
编辑:
// 2 event listeners that will run a function when the submenu is clicked:
var sub_menu_1 = document.getElementById( "submenu1" );
sub_menu_1.addEventListener("click", DISPLAY_menu_1 , false);
var sub_menu_2 = document.getElementById( "submenu2" );
sub_menu_2.addEventListener("click", DISPLAY_menu_1 , false);
function DISPLAY_menu_1 () {
// Do whatever CSS you need here, I simply make the entire DIV 'visible':
sub_menu_1.style.visibility = 'visible';
// For good measures, lets make submenu2 'invisible':
sub_menu_2.style.visibility = 'hidden';
}
function DISPLAY_menu_2 () {
// Same in Reverse
sub_menu_2.style.visibility = 'visible';
sub_menu_1.style.visibility = 'hidden';
}
唷!这花了一段时间。。对不起
看看这个例子:
我基本上做了3个版本供你试用
只需单击编辑此笔按钮即可检查代码
哇,我真不敢相信在这么多天之后,我仅仅通过添加一个简单的单词就找到了解决方案。根本不需要搞乱javascript。实际上,在网站的external.js文件中,一位代码开发人员告诉我添加以下内容:过滤器:'.foobar'请参见下面的最终结果
$container.com({
//选择权
animationEngine:“最佳可用”,
itemSelector:“.item thumbs”,
筛选器:'.foobar',
布局模式:“fitRows”
});代码>也许你能给我们看一些CSS.work-nav#过滤器{边距:0;填充:0;列表样式:无;}.work-nav#过滤器{填充:0;边距底部:10px;边距左侧:0;边距右侧:0;边距顶部:0;}.work nav#过滤器{颜色:5151515151;字体大小:16px;显示:block;}.work nav#filters li a:hover{color:#5892A8;}.work nav#filters li a.selected{color:#5892A8;}thumbs{边距:0;padding:0;}thumbs li{列表样式类型:无;}.item thumbs{位置:相对;溢出:隐藏;边距底部:30px;光标:指针;}.item thumbs a+img{宽度:100%}.item thumbs.hover wrap{位置:绝对;显示:块;宽度:100%;高度:100%;不透明度:0;过滤器:alpha(不透明度=0);-webkit转换:所有450ms释放0;-moz转换:所有450ms释放0;-o转换:所有450ms释放0;转换:所有450ms释放0;您可以编辑您的原始帖子:)但我似乎找不到您在java代码中提供的sumenus的ID名称。您能用适当的cla重命名html代码吗SSES和IDS让我有一个更好的图片,因为我有点迷失了。这是因为你没有添加它们。这是一个例子。你应该考虑做一些基本的教程。试着去谷歌:代码学院。它是JavaScript。不是java。谢谢你的链接。我一定要检查一下。我只需要确定一下。您提供的javascript中的ID。是这个吗?getElementById(“子菜单1”)和另一个getElementById(“子菜单2”)。请尝试一个更简单的示例,让您继续。我稍后会将其添加到我的答案中