jquery在激活另一个div时切换一个div
我真的坚持使用我的代码,它工作正常,除了一件事,我需要关闭任何打开的div,当我单击其他div打开时,以下是我的代码:jquery在激活另一个div时切换一个div,jquery,Jquery,我真的坚持使用我的代码,它工作正常,除了一件事,我需要关闭任何打开的div,当我单击其他div打开时,以下是我的代码: function readFaq() { $('.find-faq-inner h3').prepend('<span id="spanfaq" class="faq-open"></span>'); $('.find-faq-inner h3').each(function () { var tis = $(this), state = f
function readFaq() {
$('.find-faq-inner h3').prepend('<span id="spanfaq" class="faq-open"></span>');
$('.find-faq-inner h3').each(function () {
var tis = $(this), state = false;
var answer = tis.next('div').hide().css('height', 'auto').slideUp();
tis.click(function () {
state = !state;
answer.slideToggle(state);
tis.toggleClass('active', state);
if (state == true) {
tis.find('#spanfaq').removeClass('faq-open');
tis.find('#spanfaq').addClass('faq-close');
}
else {
tis.find('#spanfaq').removeClass('faq-close');
tis.find('#spanfaq').addClass('faq-open');
}
});
});
}
<div class="find-faq-inner">
<div class="text">
<h3>FAQ1</h3>
<div>
text of faq
</div>
</div>
</div>
函数readFaq(){
$('.find faq internal h3')。前缀('';
$('.查找常见问题解答内部h3')。每个(函数(){
var tis=$(this),state=false;
var answer=tis.next('div').hide().css('height','auto').slideUp();
单击(函数(){
状态=!状态;
答:滑动切换(状态);
t.切换类别(“活动”,状态);
if(state==true){
tis.find(“#spanfaq”).removeClass('faq-open');
tis.find('#spanfaq').addClass('faq-close');
}
否则{
tis.find(“#spanfaq”).removeClass('faq-close');
tis.find('#spanfaq').addClass('faq-open');
}
});
});
}
常见问题1
常见问题文本
任何想法都会有帮助,谢谢函数readFaq(){
function readFaq() {
$('.find-faq-inner h3').prepend('<span id="spanfaq" class="faq-open"></span>');
$('.find-faq-inner h3').each(function () {
var tis = $(this), state = false, answer = tis.next('div').hide().css('height', 'auto').slideUp();
tis.click(function () {
state = !state;
$('.find-faq-inner .text div').hide();// This will hide all the divs
answer.slideToggle(state);
tis.toggleClass('active', state);
if (state == true) {
tis.find('#spanfaq').removeClass('faq-open');
tis.find('#spanfaq').addClass('faq-close');
}
else {
tis.find('#spanfaq').removeClass('faq-close');
tis.find('#spanfaq').addClass('faq-open');
}
});
});
}
$('.find faq internal h3')。前缀('';
$('.查找常见问题解答内部h3')。每个(函数(){
var tis=$(this),state=false,answer=tis.next('div').hide().css('height','auto').slideUp();
单击(函数(){
状态=!状态;
$('.find faq internal.text div').hide();//这将隐藏所有div
答:滑动切换(状态);
t.切换类别(“活动”,状态);
if(state==true){
tis.find(“#spanfaq”).removeClass('faq-open');
tis.find('#spanfaq').addClass('faq-close');
}
否则{
tis.find(“#spanfaq”).removeClass('faq-close');
tis.find('#spanfaq').addClass('faq-open');
}
});
});
}
在上面的函数中,我添加了
$('.find faq internal.text div').hide()代码>
这将隐藏find faq internal
div中的所有div,并在代码中相应地使用它
为了更安全,您也可以使用
$('.find faq internal.text>div').hide()代码>
它将只隐藏那些div,它们是类div的直接子类text
,该函数在哪里调用?我们能得到更多的标记吗?这行“var answer=tis.next('div').hide().css('height','auto').slideUp();”一次做的事情太多了;你应该考虑把它拆开。