-1

我找到了这个 javascript 代码,这正是我正在寻找的。这是一个带有幻灯片效果的显示/隐藏代码。

$(document).ready(function() {
if($('div.tab').length > 0) {
    $('div.tab').click(function() {
        if($(this).hasClass('open')) {
            $(this).removeClass('open');
            $(this).addClass('close');
            $(this).next().slideDown(300);
            return false;
        } else {
            $(this).removeClass('close');
            $(this).addClass('open');
            $(this).next().slideUp(300);
            return false;
        }
    })
}

现在,我想添加一个代码,一次只显示一个 DIV,用幻灯片效果关闭打开的 DIV。所以,我添加了一些代码,它可以按照我想要的方式工作。但问题是,当打开一个 DIV 并单击另一个新 DIV 时,一切正常,但是当我单击已访问的 DIV 时,我需要单击两次而不是单击一次来执行代码。我没有js编码方面的知识,所以我在这里寻求您的帮助。

这是我的更改的代码。

$(document).ready(function() {
if($('div.tab').length > 0) {
    $('div.tab').click(function() {
        if($(this).hasClass('open')) {
            $(this).removeClass('open');
                  $(this).addClass('close')**.siblings('div.container').slideUp(300)**;
            $(this).next().slideDown(300);
            return false;
        } else {
            $(this).removeClass('close');
            $(this).addClass('open');
            $(this).next().slideUp(300);
            return false;
        }
    })
}
4

1 回答 1

0

我已经成功了。我更改了一些代码,我得到了我正在寻找的东西。它现在一次显示一个选项卡,单击同一选项卡时显示/隐藏工作。也许这不是一种正确的编码方式,因为我没有 js 知识,但它对我来说非常有用。

$(document).ready(function() {

$('div.tab').click(function() { 
    if($(this).hasClass('open')) {
        $(this).next().slideToggle(300).siblings('div.container').slideUp(300);

    } else {

        $(this).next().slideToggle(300);

    }
})                                                  

}) http://jsfiddle.net/9szef/1/

于 2013-04-16T09:46:45.173 回答