2011-10-01 7 views
6

Jak usunąć jScrollPane za pomocą niszczenia. Proszę można dać prosty przykład za pomocą następującego kodu:Zniszcz jScrollPane

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

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

Odpowiedz

0

Trzeba zadzwonić jScrollPaneRemove() na pojemniku tj $ jScrollPaneRemove(); ('myownscrollpane.').

+0

myślę jScrollPaneRemove() została usunięta w v2 – shr3jn

+0

tak to zostało usunięte w v2 .. jeśli używasz 1.2 to może pomóc. . –

+0

jak używać destroy()? – shr3jn

1

Funkcja stary jScrollPaneRemove() wyglądał mniej więcej tak:

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

Jak widać ten usuwa css, czy raczej ustawia go do niczego, i resetuje tag styl do oryginalnych stylów. Problemem jest to, że originalStyleTag jest usuwany, ale kiedyś wyglądać tak:

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

więc to w zasadzie sposób przechowywać stare style przed JScrollPane jest aktywna i ponowna instalacja je kiedy JScrollPane zostanie usunięty.

Wiele zmieniło się w nowej wersji i nie wiem, czy ta metoda nadal działa, ale wygląda na to, że sposobem na to jest zachowanie starych stylów przed uruchomieniem jScrollPane, wyzerowanie dowolnego zestawu css przez jScrollPane, i ustawić css bak na stary styl, aby był taki jak przed jScrollPane.

Brzmi jak wiele do zrobienia i poważnie zastanawiałbym się nad usunięciem, pustym, odłączonym lub innym elementem jQuery z różnych kontenerów skonfiskowanych za pomocą jScrollPane, a jeśli wszystko inne zawiedzie, spróbuj wykonać powyższą funkcję w swoim skrypcie. Wszystko, co naprawdę musisz zrobić, to uzyskać stare style w tablicy danych przed uruchomieniem jScrollpane, a następnie sprawdzić, czy stara funkcja usuwania nadal działa.

11

Aby zniszczyć instancji JScrollPane (V2):

var element = $('.div1').jScrollPane({}); 
var api = element.data('jsp'); 
api.destroy();