我在删除同一函数中由 jQuery 创建的元素时遇到了一些问题。这是正在发生的事情:
我创建了一个 jQuery 函数 (toggleClick),它打开一个侧面板,然后创建一个覆盖元素,该元素应用于页面的其余部分(不包括面板)。应该发生的事情是在用户单击叠加层后,它将关闭面板并摆脱叠加层元素。我在这里做错了吗?
jQuery代码:
jQuery(document).ready(function(){
/* DEFINE TOGGLECLICK */
$.fn.toggleClick=function(){
var functions=arguments
return this.click(function(){
var iteration=$(this).data('iteration')||0
functions[iteration].apply(this,arguments)
iteration= (iteration+1) %functions.length
jQuery(this).data('iteration',iteration)
})
}
/* DEFINE APANEL ID */
var aPanel = "#aPanel";
/* DEFINE APANEL FUNCTIONALITY */
jQuery('#apanel-fire,#aPanelOverlay').toggleClick(function() {
jQuery("body").addClass("active");
jQuery(aPanel).addClass("active");
jQuery("<div id='aPanelOverlay'></div>").appendTo(".page");
}, function() {
jQuery("body").removeClass("active");
jQuery(aPanel).removeClass("active");
jQuery("#aPanelOverlay").remove();
});
});
/* DEFINE APANEL FUNCTIONALITY */ 是我遇到问题的地方。上面的所有其他内容都定义了 toggleClick 函数和 aPanel 变量 ID。
通过单击位于屏幕左上角的菜单按钮,您可以在下面看到我遇到的问题的实时版本。
现场版:
非常感谢!