首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >销毁jScrollPane

销毁jScrollPane
EN

Stack Overflow用户
提问于 2011-10-02 01:27:47
回答 3查看 9.2K关注 0票数 7

如何使用destroy删除jScrollPane。下面的代码可以举个简单的例子吗?

代码语言:javascript
复制
$(document).ready(function() {
    $(".div1").jScrollPane();
});

<div class="div1">Some text...</div>
EN

回答 3

Stack Overflow用户

发布于 2011-11-10 09:18:36

要销毁jscrollpane窗格(V2)的实例,请执行以下操作:

代码语言:javascript
复制
var element = $('.div1').jScrollPane({});
var api = element.data('jsp');
api.destroy();
票数 12
EN

Stack Overflow用户

发布于 2011-10-02 05:23:17

旧的jScrollPaneRemove()函数看起来像这样:

代码语言:javascript
复制
$.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也被删除了,但它过去看起来像这样:

代码语言:javascript
复制
$this.data('originalStyleTag', $this.attr('style'));

因此,这基本上是一种在激活jScrollPane之前存储旧样式,并在删除jScrollPane时重新应用它们的方法。

在新版本中发生了很多变化,我不知道这个方法是否仍然有效,但看起来这样做的方法是在运行jScrollPane之前存储旧样式,清零jScrollPane设置的任何css,并将css bak设置为旧样式,使其与jScrollPane之前一样。

听起来似乎有很多事情要做,我会认真考虑在与jScrollPane相关的不同容器上尝试jQuery的remove、empty、detach或任何其他方法,如果其他方法都失败了,请尝试让上面的函数在您的脚本中工作。您真正需要做的就是在运行jScrollpane之前获取数据数组中的旧样式,然后看看旧的remove函数是否仍然有效。

票数 1
EN

Stack Overflow用户

发布于 2011-10-02 01:29:33

您需要在容器上调用jScrollPaneRemove(),即$('.myownscrollpane').jScrollPaneRemove();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7621805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档