Come rimuovere jScrollPane utilizzando destroy. Si prega si può dare un semplice esempio per il seguente codice:Destroy jScrollPane
$(document).ready(function() {
$(".div1").jScrollPane();
});
<div class="div1">Some text...</div>
Come rimuovere jScrollPane utilizzando destroy. Si prega si può dare un semplice esempio per il seguente codice:Destroy jScrollPane
$(document).ready(function() {
$(".div1").jScrollPane();
});
<div class="div1">Some text...</div>
è necessario chiamare jScrollPaneRemove() sul contenitore vale a dire $ jScrollPaneRemove(); ('myownscrollpane.').
La funzione vecchia jScrollPaneRemove() sembrava qualcosa di simile:
$.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();
}
});
}
Come si può vedere questo rimuove il css, o meglio lo imposta a nulla, e reimposta il tag di stile agli stili originali. Il problema è che originalStyleTag è anche rimosso, ma è usato per cercare qualcosa di simile:
$this.data('originalStyleTag', $this.attr('style'));
Quindi è fondamentalmente un modo per memorizzare i vecchi stili prima JScrollPane si attiva e riapplicare quando JScrollPane viene rimosso.
Nella nuova versione è cambiato molto e non so se questo metodo funziona ancora, ma sembra che il modo per farlo sia archiviare i vecchi stili prima di eseguire jScrollPane, azzerando qualsiasi css impostato da jScrollPane e imposta il css bak sui vecchi stili per renderlo simile a prima di jScrollPane.
suona come un sacco da fare, e mi sarebbe seriamente prendere in considerazione cercando di rimozione di jQuery, vuoto, staccare o qualsiasi altra cosa sui diversi contenitori assocciated con JScrollPane, e se tutto il resto fallisce cercare di rendere il lavoro funzione di cui sopra nello script. Tutto quello che devi veramente fare è ottenere i vecchi stili in un array di dati prima di eseguire jScrollpane, e poi vedere se la vecchia funzione di rimozione funziona ancora.
Per distruggere un'istanza di JScrollPane (v2):
var element = $('.div1').jScrollPane({});
var api = element.data('jsp');
api.destroy();
Penso jScrollPaneRemove() è stato rimosso in v2 – shr3jn
sì, è stato rimosso in v2 .. se si utilizza 1.2 allora questo potrebbe aiutare. –
come si usa destroy() ?? – shr3jn