如何使用destroy删除jScrollPane。下面的代码可以举个简单的例子吗?
$(document).ready(function() {
$(".div1").jScrollPane();
});
<div class="div1">Some text...</div>发布于 2011-11-10 09:18:36
要销毁jscrollpane窗格(V2)的实例,请执行以下操作:
var element = $('.div1').jScrollPane({});
var api = element.data('jsp');
api.destroy();发布于 2011-10-02 05:23:17
旧的jScrollPaneRemove()函数看起来像这样:
$.fn.jScrollPaneRemove = function() {
$(this).each(function() {
$this = $(this);
var $c = $this.parent();
if ($c.is('.jScrollPaneContainer')) {
$this.css(
{
'top':'',
'height':'',
'width':'',
'padding':'',
'overflow':'',
'position':''
}
);
$this.attr('style', $this.data('originalStyleTag'));
$c.after($this).remove();
}
});
}正如您所看到的,这将删除css,或者更确切地说,将其设置为空,并将样式标记重置为原始样式。问题是originalStyleTag也被删除了,但它过去看起来像这样:
$this.data('originalStyleTag', $this.attr('style'));因此,这基本上是一种在激活jScrollPane之前存储旧样式,并在删除jScrollPane时重新应用它们的方法。
在新版本中发生了很多变化,我不知道这个方法是否仍然有效,但看起来这样做的方法是在运行jScrollPane之前存储旧样式,清零jScrollPane设置的任何css,并将css bak设置为旧样式,使其与jScrollPane之前一样。
听起来似乎有很多事情要做,我会认真考虑在与jScrollPane相关的不同容器上尝试jQuery的remove、empty、detach或任何其他方法,如果其他方法都失败了,请尝试让上面的函数在您的脚本中工作。您真正需要做的就是在运行jScrollpane之前获取数据数组中的旧样式,然后看看旧的remove函数是否仍然有效。
发布于 2011-10-02 01:29:33
您需要在容器上调用jScrollPaneRemove(),即$('.myownscrollpane').jScrollPaneRemove();
https://stackoverflow.com/questions/7621805
复制相似问题