2011-10-01 10 views
6

destroyを使用してjScrollPaneを削除する方法。次のコードのための簡単な例を与えることができますしてください:jScrollPaneを破棄する

$(document).ready(function() { 
    $(".div1").jScrollPane(); 
}); 

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

答えて

0

あなたは、コンテナにjScrollPaneRemove()を呼び出す必要があり、すなわち$ jScrollPaneRemove();( 'myownscrollpaneを。')。あなたは、これはCSSを削除、またはむしろ何にそれを設定し、元のスタイルにスタイルタグをリセットして見ることができるように

$.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(); 
    } 
    }); 
} 

+0

私は、これは役立つかもしれないあなたが1.2を使用している場合、はい、それは... V2で削除されましたjScrollPaneRemoveは()V2 – shr3jn

+0

で削除されていると思います。 –

+0

どのようにdestroy()を使用しますか? – shr3jn

1

古いjScrollPaneRemove()関数は、このようなものを見ました。 問題はoriginalStyleTagも除去されることがあるが、それはこのような何かを見に使用される:

$this.data('originalStyleTag', $this.attr('style')); 

だから、basiclyするJScrollPaneが活性化するJScrollPaneが取り除かれたときにそれらを再適用する前に、古いスタイルを格納するための方法ですが。

新しいバージョンでは多くの変更がありましたが、このメソッドがまだ動作するかどうかはわかりませんが、jScrollPaneを実行する前に古いスタイルを保存し、 jScrollPaneを作成し、css bakを古いス​​タイルに設定して、jScrollPaneの前と同じようにします。

jScrollPaneに関連付けられたさまざまなコンテナでjQueryのremove、empty、detachなどを試すことを真剣に検討し、上記の関数をスクリプトで機能させることができない場合は、 jScrollpaneを実行する前に古いスタイルをデータ配列に入れて、古いremove関数がまだ動作しているかどうかを確認するだけです。 JScrollPaneの(V2)のインスタンスを破壊する

11

var element = $('.div1').jScrollPane({}); 
var api = element.data('jsp'); 
api.destroy(); 
関連する問題