任何建议都会很好。这很简单,但我想不通。
我正在使用一个简单的 jQuery Accordion 脚本。这是 HTML:
<ul id="menu">
<li>
<a>Weblog Tools</a> <!-- THIS IS MY LINK BUTTON -->
<ul>
<li><a href="http://www.pivotx.net/">PivotX</a></li>
<li><a href="http://www.wordpress.org/">WordPress</a></li>
<li><a href="http://www.textpattern.com/">Textpattern</a></li>
<li><a href="http://typosphere.org/">Typo</a></li>
</ul>
</li>
<li>
<a>Programming Languages</a> <!-- THIS IS MY LINK BUTTON -->
<ul>
<li><a href="http://www.php.net/">PHP</a></li>
<li><a href="http://www.ruby-lang.org/en/">Ruby</a></li>
<li><a href="http://www.python.org/">Python</a></li>
<li><a href="http://www.perl.org/">PERL</a></li>
<li><a href="http://java.sun.com/">Java</a></li>
<li><a href="http://en.wikipedia.org/wiki/C_Sharp">C#</a></li>
</ul>
</li>
</ul>
这是脚本:
function initMenu() {
$('#menu ul').hide();
$('#menu ul:first').show();
$('a.collapse').click(
function() {
var checkElement = $(this).next();
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#menu ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
});
}
$(document).ready(function() {initMenu();});
不错的简单脚本,又好又轻。
这是我的问题,任何建议都会很棒!
我需要得到 <a>Link Button</a>
在当前可见菜单中为display: none
并在打开的菜单之间切换。
所以想法是,当当前可见菜单打开时,打开它的链接具有 display: none
样式。添加到它。但所有其他<a>Link Buttons</a>
应该可见并且没有样式 display: none
应用。这样菜单仍然可以正常使用。
只有可见的打开菜单应该有 display: none
.
如果您能提供帮助,那就太棒了。提前致谢。
最佳答案
从
修改menu.jsfunction initMenu() {
$('#menu ul').hide();
$('#menu ul:first').show();
$('#menu li a').click(
function() {
var checkElement = $(this).next();
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#menu ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenu();});
对此:
function initMenu() {
$('#menu ul').hide();
$('#menu li a').click(
function() {
var checkElement = $(this).next();
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#menu li a').show();
$(this).hide();
$('#menu ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenu();});
我修改了第一部分,因此它不会显示第一个子菜单。 然后我添加了这一行,以便它显示其他链接,但隐藏事件链接。
$('#menu li a').show();
$(this).hide();
编辑:
您还可以在 http://jsfiddle.net/3cmPz/ 查看有效的实现
关于javascript - 简单的 jQuery Accordion - 在可见的地方隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930370/