当我点击一个问题时,它会滑动打开,但是如果我再点击它就会如此可见呢?如果可见的话,它会隐藏它?
谢谢! 乔恩
$('.faqDisplay dt').click(function() {
var item = $($(this).parent()).children('dd');
if (item.css('display', 'none')) {
item.slideDown();
} else {
item.slideUp();
}
});

.faqDisplay dd {
display: none;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div class="faqDisplay">
<dl>
<dt>Question One</dt>
<dd>
<p>Answer One</p>
</dd>
</dl>
<dl>
<dt>Question Two</dt>
<dd>
<p>Answer Two</p>
</dd>
</dl>
</div>
&#13;
答案 0 :(得分:3)
您可以使用slideToggle()
DEMO
$('dt').click(function() {
$(this).next('dd').slideToggle();
})
答案 1 :(得分:0)
尝试更改此if(item.css('display','none')) {
这个if(!item.is(':visible')) {
答案 2 :(得分:0)
clc;
clear;
Current_Path=pwd;
cd (Current_Path)
mkdir('Photos','part1')
pridir = 'Photos\part';
R=rand(1,50);
Y=rand(1,50);
for i=1:50
figure
for jj = 1:floor((i-1)/10)+1
if jj<=1
plot (R(i),Y(i),'*r');
printto = sprintf('%s%d\\Motion%03d',pridir,1,i);
print('-djpeg90',printto)
close(gcf);
hold on
else
R(i)=R(i-((jj-1)*10));
Y(i)=Y(i-((jj-1)*10));
plot (R(i),Y(i),'*r');
printto = sprintf('%s%d\\Motion%03d',pridir,1,i);
print('-djpeg90',printto)
close(gcf);
hold on
end
end
hold off
end
$('.faqDisplay dt').click(function(){
var item = $($(this).parent()).children('dd');
if(!item.is(':visible')) {
item.slideToggle();
}
else {
item.slideToggle();
}
});
.faqDisplay dd {
display: none;
}
答案 3 :(得分:0)
注意:至少从jQuery 1.7开始,这个版本的.toggle已被弃用,可能正是出于这个原因,即存在两个版本。使用.toggle更改元素的可见性只是一种更常见的用法。该方法已在jQuery 1.9中删除。
function a(el){
el.slideDown();;
}
function b(el){
el.slideUp();
}
$('.faqDisplay dt').click(function() {
var el = this;
return (el.t = !el.t) ? a(el) : b(el);
});