Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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在单击时激发所有元素_Javascript_Jquery_Fullcalendar - Fatal编程技术网

Javascript 当我使用类名激发时,Jquery在单击时激发所有元素

Javascript 当我使用类名激发时,Jquery在单击时激发所有元素,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我试图在fullcalendar中自定义我的basicDay视图,就像我单击事件时,它会滑下带有一些内容的div标记一样。 这是我的密码 eventRender: function(event, element, view,calEvent) { if(view.name === 'basicDay') { proj=event.title; element.empty();

我试图在fullcalendar中自定义我的basicDay视图,就像我单击事件时,它会滑下带有一些内容的div标记一样。 这是我的密码

eventRender: function(event, element, view,calEvent) { 
if(view.name === 'basicDay') {
                            proj=event.title;
                            element.empty();
                            element.append('<div id="flip" class="flip1" onclick="slide()">'+proj+'</div>');
                            element.append('<div class="down" id="panel">\n\
                        Project Name: <input type="text" value="'+proj+'"/>\n\
                        Date: <input type="date" value="'+dt+'"/>');
                            element.append('</div>');
                            $(".fc-today").css("background", "white");

                        }
                    },
问题是,如果我有多个事件,那么所有div标记都会向下滑动。但是想滑下标签,我会点击。对不起,我的英语不好,请帮我解决这个问题。提前感谢。

您正试图在单击翻转按钮时打开面板 您可以使用此命令传递上下文,然后选择下一个立即面板

在动态创建的元素中

onclick="slide(this)"
js的变化

function slide(elem){  
   var getNextPanel = $(elem).next("#panel");
   getNextPanel.slideToggle("fast");
  }

没有测试,但你可以试试这个。另外请注意,对于所有动态创建的元素,panel&flip等id不能相同,id必须是唯一的

您是对的。下面是您的工作示例:

 function slide(id)
{  
        $('#'+id).slideToggle("fast");

}

向元素添加动态id,然后使用如下函数

//id is your dynamic id and call this function on that element like `slide(this.id);`

function slide(id)
{  
    $('#'+id).slideToggle("fast");
}

我终于通过下面的代码做到了这一点

     var x=0;
eventRender: function(event, element, view,calEvent) { 
            if(view.name === 'basicDay') {
                                x++;
            element.removeClass("fc-event");
            element.addClass("day-event");
            element.children().addClass("day-event");
            proj=event.title;
            dt=new Date();
            dt=event.date;
            element.empty();
            element.append('<div id="'+x+'" class="flip1" onclick="slide(this.id)">'+proj+'</div>');
            element.append('<div class="'+x+'" id="panel">\n\
            Project Name: <input type="text" value="'+proj+'"/>\n\
            Date: <input type="date" value="'+dt+'"/>');
            element.append('</div>');
            $(".fc-today").css("background", "white");
             }
           },
这个功能也可以正常工作

function slide(id)
    {  
           // $('.'+id).slideToggle("fast");
            var getNextPanel = $('#'+id).next("#panel");
            getNextPanel.slideToggle("fast");

    }

如果我需要进一步改进我的代码,请向我推荐guy's。感谢所有支持我的人。

$这不起作用。单击是从不同的div标记调用的,我正在滑动不同的标记。点击事件是从“翻转”标签调用的,我正在“向下”标签滑动。谢谢您的帮助,先生。我将尝试这样做,并让您知道兄弟。谢谢你的建议。谢谢你的帮助,兄弟。我用了你的技术,效果很好,这是预期的行为。当您按类名进行选择时,jQuery会生成一个数组。如果要针对特定元素,则需要使用其索引….$。谢谢你,先生。我会试试,让你知道。
function slide(id)
    {  
            $('.'+id).slideToggle("fast");

    }
function slide(id)
    {  
           // $('.'+id).slideToggle("fast");
            var getNextPanel = $('#'+id).next("#panel");
            getNextPanel.slideToggle("fast");

    }