Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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解构器?_Jquery_Plugins - Fatal编程技术网

插件的jQuery解构器?

插件的jQuery解构器?,jquery,plugins,Jquery,Plugins,我在一个手风琴插件中使用Galleria插件,以超酷的方式显示图像。然而,当我在手风琴中打开一个新标签,然后返回到gallery标签时,出现了一个问题。这导致galleria重新初始化,从而导致其失败 我想知道是否有一种方法可以解构一个插件,这样它就可以在需要时重新初始化而不会引起问题 $('.haccordion .header').click(function() { /* ---- Gallery Code ---- */ if ($(this).find('div').att

我在一个手风琴插件中使用Galleria插件,以超酷的方式显示图像。然而,当我在手风琴中打开一个新标签,然后返回到gallery标签时,出现了一个问题。这导致galleria重新初始化,从而导致其失败

我想知道是否有一种方法可以解构一个插件,这样它就可以在需要时重新初始化而不会引起问题

$('.haccordion .header').click(function()
{
   /* ---- Gallery Code ---- */
   if ($(this).find('div').attr('title') == 'photogallery')
   {
      $('.gallery').galleria();
如果我在document.load上初始化插件而不检查打开了哪个选项卡,它会加载插件,但它有很多错误。没有图像加载,无法单击内容等。。。 如果我在div.photogallery时重新加载插件,它只会导致完全失败。不加载


所以我猜克服这一问题的唯一方法是以某种方式杀死插件,然后重新初始化它?

移除插件的问题是,插件并不是作为一个单独的对象孤立在某个地方,你可以直接移除,它现在以事件和样式的形式散布在代码的某个部分,附加到许多元素上,甚至可能添加了额外的元素

当您重新初始化插件时,它将覆盖它自己对代码的更改,从而导致重复冲突和其他问题。要重新初始化插件,您必须在首次初始化插件之前保存受影响内容的副本,以便在重新初始化插件之前将该部分代码恢复到原始状态


但是,如果插件向窗口范围添加了一些内容,则无法通过还原部分代码来还原该内容。要么你必须找出插件的作用,以便撤销它,要么你必须重新加载页面。

似乎将第4行更改为if$this。查找'div'。attr'title'='photogallery'&&&$'。galleria_container.length==0起到了作用。是的,如果它可以不重新初始化插件,这将是重新初始化它的另一种选择。。。