因此,我需要根据单击的按钮在任何时候显示一个div。我发现了这个很棒的小提琴,它几乎是完美的,除了,因为它在选择一个链接时不会显示。我想拥有它,这样所选的链接就可以有一种活动类,或者看起来与其他链接不同。这可能吗?我一直在研究问题,但我真的找不到答案。
如果有人感兴趣,我会使用它(但代码真的很糟糕,对不起(。(我也想更改最上面一行的过滤器按钮,以重置和过滤所有图像,但我知道这是一个不同的问题。如果有任何帮助,我们将不胜感激!(
html
<div id="linkwrapper">
<a id="link1" href="#">link1</a><br/>
<a id="link2" href="#">link2</a><br/>
<a id="link3" href="#">link3</a>
</div>
<div id="infocontent">
<div id="link1content">Information about 1.</div>
<div id="link2content">Information about 2.</div>
<div id="link3content">Information about 3.</div>
</div>
jquery
$(document).ready(function(){
$("#infocontent").hide();
$("#infocontent div").hide();
$('#linkwrapper a[id]').click(function(){
var vsubmen = this.id +"content";
if( $("#infocontent").is(":visible") == false ) {
$("#" + vsubmen).show('fast',function() {
$("#infocontent").slideDown();
});
} else if ( $("#" + vsubmen).is(":visible") == false ) {
$("#infocontent").slideUp('slow',function(){
$("#infocontent div").hide();
$("#" + vsubmen).show();
$("#infocontent").slideDown('slow');
});
} else {
$("#infocontent").slideUp('slow',function(){
$("#infocontent div").hide();
});
}
return false;
});
});
你可以这样简化小提琴:
$('a[id^=link]').click(function(){
$('a[id^=link]').removeClass('meactive');
$(this).addClass('meactive');
$('#infocontent>div').slideUp();
var tmp = this.id;
$('#'+tmp+'content').slideDown();
}); //end a.click
jsFiddle演示
注:
(1( $('a[id^=link]')
—获取ID以link
开头的所有a
元素
(2( $('#' +tmp+ 'content')
—构建选择器,如:$('#link3content
(`