2011-10-01 11 views
6

Como eliminar jScrollPane usando destroy. Por favor, ¿puedes dar un ejemplo sencillo para el siguiente código:Destruye jScrollPane

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

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

Respuesta

0

es necesario llamar a jScrollPaneRemove() en el envase es decir, $ jScrollPaneRemove(); ('myownscrollpane.').

+0

Creo jScrollPaneRemove() se ha eliminado en la versión 2 – shr3jn

+0

sí que se ha eliminado en la versión 2 .. si está utilizando 1.2, entonces esto podría ayudar. . –

+0

¿cómo se usa destroy() ?? – shr3jn

1

La función de edad jScrollPaneRemove() parecía algo como esto:

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

Como se puede ver esto elimina el css, o más bien lo establece en nada, y restablece la etiqueta de estilo para los estilos originales. El problema es que originalStyleTag también se elimina, pero lo que solía ser algo como esto:

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

Así que es básicamente una forma de almacenar los viejos estilos que se active JScrollPane y volver a aplicar cuando se retira JScrollPane.

Mucho ha cambiado en la nueva versión, y no sé si este método todavía funciona, pero parece que la manera de hacerlo es almacenar los estilos anteriores antes de ejecutar jScrollPane, poner a cero cualquier css establecido por jScrollPane, y establece css bak en los estilos anteriores para que sea como antes de jScrollPane.

Suena como mucho que hacer, y consideraría seriamente intentar eliminar, vaciar, separar o cualquier otra cosa de jQuery en los diferentes contenedores asociados con jScrollPane, y si todo lo demás falla, intente hacer que la función anterior funcione en su secuencia de comandos. Todo lo que necesita hacer es obtener los estilos antiguos en una matriz de datos antes de ejecutar jScrollpane, y luego ver si la antigua función de eliminación aún funciona.

11

Destruir una instancia de JScrollPane (v2):

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