我已经设置了一个包含一些团队资料的页面。
在CSS中,所有个人资料描述都是隐藏的。
点击个人资料后,我会显示该个人资料的说明。
同时我想要打开的前一个关闭。
此代码一切正常,但是如果我尝试关闭当前打开的那个,那么它会关闭然后再次打开。
当我阅读代码时,我可以看到为什么会发生这种情况,但我不确定如何在不打开它的情况下关闭一个打开的配置文件?
HTML
<div class="profile">
<img src="img/profile.jpg" />
<p>Name</p>
<p>Job Title</p>
<p class="text"></p>
<div class="description">
<p>Blah blah blah</p>
</div> <!-- description -->
</div> <!-- .profile -->
JQUERY
$(document).ready(function(){
$('.team p.text').prepend('Biog');
$('.team .profile', this).click(function(e) {
$('.description').slideUp();
$('p.text').text('Biog');
var change = $(this).find('p.text');
$('.description', this).slideToggle(1000, 'linear', function() {
change.text($(this).is(':visible') ? 'Close biog' : 'Biog');
});
e.preventDefault();
});
});
非常感谢所有的帮助和时间。
答案 0 :(得分:0)
正常的解决方案是排除&#34;当前&#34;来自幻灯片的面板,例如不使用:
$(document).ready(function(){
$('.team p.text').prepend('Biog');
$('.team .profile', this).click(function(e) {
$('p.text').text('Biog');
var change = $(this).find('p.text');
$('.description').not($('.description', this).slideToggle(1000, 'linear', function() {
change.text($(this).is(':visible') ? 'Close biog' : 'Biog');
})).slideUp();
e.preventDefault();
});
});
抱歉没有让代码更清晰,但没有HTML ......(提示)