2010-03-29 5 views
6

Los cuadros de diálogo modales basados ​​en jQuery son geniales siempre que haga todo lo que el ejemplo le indique. Necesito una biblioteca basada en jQuery diálogo modal caja que tiene que tener las siguientes características: aplicación¿Alguien puede decirme acerca de una biblioteca de cuadro de diálogo modal de jQuery que no succiona

ideal:

function showDialog(values) 
    { 
     processToChangeDom(values); 
     changeDivTobeDisplayed(); 
     modalDialog.show(); 
    } 
  • Debe ser rápido, algo así como el diálogo Agregar enlace y en StackOverflow. La mayoría de las bibliotecas tardan una eternidad en cargar el diálogo con sus efectos sofisticados y demás.

  • Quiero llamarlo usando un script. Muestra un div oculto o un elemento span en línea. La mayoría de las bibliotecas hablan rellenando un ancla con rel, class y href = # hiddenDiv tipo de cosas. Necesito poder hacer lo que quiero sin agregar atributos innecesarios a mi ancla. Algo como esto

  • Debe reflejar los cambios que realizo en el DOM en la div oculta. Usé Facebox y descubrí que hace una copia del div oculto y los cambios al DOM no se reflejan en la ventana modal.

  • Necesito ser capaz de llamar al cierre modal div usando javascript y también adjuntar before Open y afterClose manejadores a la acción.

¿Alguien tiene alguna sugerencia? Ya he probado facebox, simplemodal y toda una gama de bibliotecas, la mayoría de ellas no admiten una u otra de las funciones que describí anteriormente.

+0

He intentado SimpleModal, JQModal y otros, y TODO el ejemplo SIMPLE, CONCISE que falta funciona por primera vez! OMI cada biblioteca debe tener un ejemplo de hello world, donde puede copiar/pegar el mínimo necesario (referencias de URL a un CDN, etc.) para ver cómo funciona. –

Respuesta

3

Probar SimpleModal. Descubrí que es API bastante agradable.

+0

Encontré que esta es la mejor de todas las bibliotecas para el requisito dado. No hay demasiada alimentación con cuchara y la mayoría de la personalización que tiene que hacer. ¡¡Buen material!! –

+0

@Ritesh llegué a la conclusión yo también. Espero que @Eric Martin vea que su trabajo es apreciado. :) –

3

¿Has consultado la interfaz de usuario jQuery? http://jqueryui.com/demos/dialog/

+0

Muy voluminoso. Estoy buscando especialmente una implementación de diálogo modal puro. También he mirado las herramientas de jQuery. –

+0

Si descarga * solo * el widget de diálogo y las partes necesarias, el archivo jQuery UI tiene menos de 21kB (v1.8, es decir) + 24kB de jQuery. Lightbox 2, para comparar, tiene 18kB, pero luego tienes que cargar prototipo, scriptaculous, constructor y efectos. – Boldewyn

+0

Si desea la mejor opción de rendimiento, es posible que deba sacar la sierra de perfiles y comenzar a cortar las piezas que no necesita. – StingyJack

3

El diálogo de la interfaz de usuario de jQuery hace prácticamente todo lo que está preguntando. Además, no me he dado cuenta de que lleva mucho tiempo mostrarlo. Ni siquiera necesita tener el elemento DOM existente para usarlo. Una cosa buena de los widgets de la interfaz de usuario es que solo necesita cargar los componentes que necesita más el núcleo. También están ampliamente disponibles a través de redes CDN, por lo que es posible que el cliente del usuario ya haya descargado el JS.

$(function() { 
     $('<div title="I am a dialog"><p>Put whatever you want in here</p></div>') 
      .dialog({ 
       autoOpen: true, 
       modal: true, 
       open: function(event,ui) { ... }, 
       close: function(event,ui) { 
         ... 
         $(this).dialog('destroy'); 
         } 
       draggable: false, 
       resizable: false, 
       ... 
      }) 
    }); 
0

He mirado en un buen número de cajas modales mí mismo, y el mejor que se me ocurrió es ThickBox. La caja de la interfaz de usuario de jquery también estaba bien, pero no me gustó la forma en que maneja el botón Atrás.

Thickbox cubre los puntos 1-3 en su lista de requisitos. Los controladores pares podrían agregarse fácilmente ya que el código fuente no es demasiado complicado.

0

Probar BlockUI. He encontrado que es bastante bueno.

1

jquery-ui dialog que he encontrado para ser ligero y dinámico aquí un exmple de cómo se puede usar en un Funciton

function display_alert(message,title) { 
    title = title || "Alert"; 
     $('#alert').text(message); // the message that will display in the dialog 

     $("#alert").dialog({ 
      autoOpen: false, 
      bgiframe: true, 
      modal: true, 
     title:title, 
     open: function() { 
     }, 
     close: function(){ 
      $(document).unbind('keypress'); 
     }, 
      buttons: { 
       OK: function() { 
        $(this).dialog('close'); 
       } 
      } 
     }); 
    $('#alert').dialog('option', 'title', title); 
     $("#alert").dialog('open'); 
    } 
1

ThickBox funciona bastante bien, sobre todo si quieres hacer cosas como vídeos o Flash dentro de tus modales.

1

Si está utilizando el marco de Bootstrap de Twitter, entonces debería verificar BootBoxJs.

0

Me gustaría ir con modaal. Es fácil de usar, tiene una amplia gama de métodos y se centra en la accesibilidad.

Cuestiones relacionadas