Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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
Javascript jQuery:在类上单击:切换div,在其他地方单击:隐藏div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery:在类上单击:切换div,在其他地方单击:隐藏div

Javascript jQuery:在类上单击:切换div,在其他地方单击:隐藏div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有3个,它们都有类.info btn,带有data=“1”参数(从1到3) 如果你用class.info btn点击一个,它应该在varx中获得数据=*参数,并且应该用$('.div info-'+x)创建fadeToggle(“快速”)一个可见的div,其类为.div info-*(*=1,2或3;每个类都存在) 我还想要的是:如果单击位于上的其他位置,则可以使用.data()存储单击的元素。单击文档后,检查目标是否既不是div也不是其父级(可选),然后将其隐藏 HTML 点击时应该可以看到

我有3个
,它们都有类
.info btn
,带有
data=“1”
参数(从1到3)

如果你用class
.info btn
点击一个
,它应该在var
x
中获得
数据=*
参数,并且应该用
$('.div info-'+x)创建fadeToggle(“快速”)
一个可见的div,其类为
.div info-*
(*=1,2或3;每个类都存在)

我还想要的是:如果单击位于
上的其他位置,则可以使用
.data()
存储单击的元素。单击文档后,检查目标是否既不是
div
也不是其父级(可选),然后将其隐藏

HTML


点击时应该可以看到的信息
这在一个
无div中,看起来你的代码对此不可用,我正在尝试修复它,但我在jquery和英语方面不太好:每当错误代码“Uncaught TypeError:Object”没有方法“CLICK”,而
$(文档).click(函数(e){
不是
$(document.body)。click(函数(e){
现在我得到它了:)
$(document)。ready(函数(){var x=0;$('body')。click(函数(evt){if(evt.target.id==“info”)return;$(.div info-“+x”)。hide(“fast”);;$(.info btn”)。click(函数(e){$(“#div info”).hide(“fast”);x=$(this.attr(“data”);$(“.div info-”+x.fadeToggle(“fast”);})
@David,我已经发布了一个非常糟糕的演示,我没有看到,但你的代码也帮助我解决了我的问题:)谢谢你:你知道如何将
.hide()
方法与
.fadeToggle(“fast”)一起使用吗
动画?
   $(".info-btn").click(function(e){ 
        var x = $(this).attr('data');
        $('.div-info-'+x).fadeToggle("fast");
    });` 
$(document.body).click(function(e){

            if ((".info-btn").click())
            {
                var x = $(this).attr('data');
                $('.div-info-'+x).fadeToggle("fast");
            }
            else (!(".info-btn").click())
            {
                var x = $(this).attr('data');
                $('.div-info-'+x).fadeToggle("fast");
            }

        });
<a class="info-btn" data="1" href="#">INFO</a>

<div class="div-info-1">Sortierung der Kategorien wird automatisch drei mal täglich ausgeführt. Sortierung Ende Juni 2013 anpassen!</div>
$(".info-btn").click(function (e) {
    var x = $(this).attr('data');
    $('.div-info-' + x).show();
    $(".info-btn").data('clickedDivId', '.div-info-' + x);
    return false;
});

$(document).on('click', function (e) {
    console.log('document clicked');
    var target = e.target;
    var clickedDiv = $(".info-btn").data('clickedDivId');
    if (!$(target).is(clickedDiv) && !$(target).parents().is(clickedDiv)) {
        $(clickedDiv).hide();
    }
});