Javascript 当我使用类名激发时,Jquery在单击时激发所有元素
我试图在fullcalendar中自定义我的basicDay视图,就像我单击事件时,它会滑下带有一些内容的div标记一样。 这是我的密码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();
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");
}