Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 隐藏/显示切换div_Jquery_Html_Hide_Toggle_Show - Fatal编程技术网

Jquery 隐藏/显示切换div

Jquery 隐藏/显示切换div,jquery,html,hide,toggle,show,Jquery,Html,Hide,Toggle,Show,请帮忙!我一直在想,当一个特定的DIV已经打开时,如何关闭它 例如,请查看: 如果我单击BCDIV应该出现,但是如果我再次单击它,DIV应该消失,但是我不知道如何使它消失。另外,我只希望一次出现一个DIV 我试着做另一件事: 谢谢你的帮助 谢谢 您似乎将两个事件附加到每个元素 使用类名称的一个 使用ID的另一个 试试这个代码 $(function() { $(document).ready(function() { $('#BC, #AB').hide();

请帮忙!我一直在想,当一个特定的DIV已经打开时,如何关闭它

例如,请查看:

如果我单击BCDIV应该出现,但是如果我再次单击它,DIV应该消失,但是我不知道如何使它消失。另外,我只希望一次出现一个DIV

我试着做另一件事:

谢谢你的帮助


谢谢

您似乎将两个事件附加到每个元素

使用类名称的一个 使用ID的另一个

试试这个代码

$(function() {
    $(document).ready(function() {
        $('#BC, #AB').hide();

        $(".prov").click(function() {
            var id = $(this).attr('id').split('-')[0];
            $('.clearfix').not('#'+id).hide();
            $('#' + id).toggle('slow');
            return false;
        });
    });
});​


只需使用类附加事件,并从中获取id,然后使用它进行切换。

您似乎将两个事件附加到每个元素

使用类名称的一个 使用ID的另一个

试试这个代码

$(function() {
    $(document).ready(function() {
        $('#BC, #AB').hide();

        $(".prov").click(function() {
            var id = $(this).attr('id').split('-')[0];
            $('.clearfix').not('#'+id).hide();
            $('#' + id).toggle('slow');
            return false;
        });
    });
});​


只需使用类附加事件并从中获取id并使用它进行切换。

我发现您的第一个事件处理程序正在隐藏该元素,然后调用了toggle。因此,toggle显示元素,因为
$(“.prov”).click(function(){$(“.clearfix”).hide();})正在隐藏它。

我发现您的第一个事件处理程序正在隐藏元素,然后调用了toggle。因此,toggle显示元素,因为
$(“.prov”).click(function(){$(“.clearfix”).hide();})
正在隐藏它。

如果单击“显示”链接,会发生什么情况:div被隐藏,然后调用toggle,基本上每次都会再次显示div。因此,预期的效果没有显示出来。 因此,只需省略以下内容:

更新

            $(document).ready(function () {

                $('#BC, #AB').hide();
                $('#BC-show').click(function () {
                    $('.clearfix:visible').not('#BC').hide()
                        $('#BC').toggle('slow');
                        return false;
                });
                $('#AB-show').click(function () {
                    $('.clearfix:visible').not('#AB').hide()
                        $('#AB').toggle('slow');
                        return false;
                });
            });

如果单击“显示”链接,则div会被隐藏,然后调用toggle,基本上每次都会再次显示div。因此,预期的效果没有显示出来。 因此,只需省略以下内容:

更新

            $(document).ready(function () {

                $('#BC, #AB').hide();
                $('#BC-show').click(function () {
                    $('.clearfix:visible').not('#BC').hide()
                        $('#BC').toggle('slow');
                        return false;
                });
                $('#AB-show').click(function () {
                    $('.clearfix:visible').not('#AB').hide()
                        $('#AB').toggle('slow');
                        return false;
                });
            });

不需要两个DOM就绪函数,绑定到类的第一个函数隐藏元素,绑定到ID的第二个函数切换元素,这些元素现在当然是隐藏的,并且将始终显示


不需要两个DOM就绪函数,绑定到类的第一个函数隐藏元素,绑定到ID的第二个函数切换元素,这些元素现在当然是隐藏的,并且将始终显示。

此处修复:此处修复:谢谢!但是,如果我删除$(“.prov”)。请单击(函数(){$(“.clearfix”).hide();});将显示多个div。。我只希望一次出现一个div。谢谢!但是,如果我删除$(“.prov”)。请单击(函数(){$(“.clearfix”).hide();});将显示多个div。。我只希望一次出现一个div。谢谢!这工作正常。。。但是,我只希望一次出现一个div。当然。。如果是这种情况,请在代码中添加此项$('.clearfix')。不是('#'+id)。隐藏()。。检查更新的代码。你真棒!非常感谢!谢谢这工作正常。。。但是,我只希望一次出现一个div。当然。。如果是这种情况,请在代码中添加此项$('.clearfix')。不是('#'+id)。隐藏()。。检查更新的代码。你真棒!非常感谢!谢谢但是,我只希望一次出现一个div。谢谢。但是,我只希望一次出现一个div。
$(function() {
    $('#BC, #AB').hide();

    $('.prov').click(function() {
        $('#'+this.id.replace('-show','')).toggle('slow').siblings('div').hide('slow');
        return false;
    });
});