2017-08-28 2 views
0

J'ai fonctionnent pas lors de l'appel dynamique modaux [matérialisent] le code suivant:paramètres modaux ne

$(document).ready(function() { 
$('.modal').modal({ 
    dismissible: false, // Modal can be dismissed by clicking outside of the modal 
    opacity: 1, // Opacity of modal background 
    inDuration: 300, // Transition in duration 
    outDuration: 200, // Transition out duration 
    startingTop: '4%', // Starting top style attribute 
    endingTop: '10%', // Ending top style attribute 
} 

Les options de la fonction ci-dessus (par exemple: l'opacité) ne fonctionne chaque fois que le modal est ouvert dynamiquement, pour par exemple en utilisant le code suivant:

$('#modal1').modal('open'); 

Il ne fonctionne que lorsque vous sélectionnez un déclencheur modal:

<a class="waves-effect waves-light btn modal-trigger" href="#modal1">Modal</a> 

Qu'est-ce qui cause cela et comment puis-je résoudre ce problème?

EDIT!

Pour plus de précisions, le modal est affiché en utilisant les deux méthodes, cependant, avec

$ ('# modal1') modales ('ouvert').

le modal n'adhère pas aux caractéristiques exemple l'opacité ou l'inDuration.

+0

Donc, vous voulez que le code JQuery montre le modal? Pas quand vous appuyez sur un bouton? – Steven

+0

une question savez-vous qu'il y a une erreur dans votre code? Vous avez écrit .modal au lieu de #modal – Steven

+0

@Steven Il n'y a pas d'erreur. S'il vous plaît se référer à ce document http://materializecss.com/modals.html avant d'essayer de fournir une réponse à cette question. –

Répondre

0

Essayez d'exécuter une fonction de rappel dans les options modales comme celui-ci:

$(document).ready(function() { 
    function someFunction(){ 
    $('#modal1').modal('open'); 
    } 
    $('.modal').modal({ 
    dismissible: false, // Modal can be dismissed by clicking outside of the modal 
    opacity: 1, // Opacity of modal background 
    inDuration: 300, // Transition in duration 
    outDuration: 200, // Transition out duration 
    startingTop: '4%', // Starting top style attribute 
    endingTop: '10%', // Ending top style attribute 
    ready: someFunction 
    } 

EDIT: Voici un travail JSFiddle

Le code ci-dessus ne fonctionne pas, en effet. Dans ce violon, j'ai simplement remplacé la fonction $ (document) .ready par IIFE. Les options fonctionnent pour moi, quand vous appelez simplement le modal sans aucun déclencheur.

+0

Cela n'a pas fonctionné. –

+0

Inclus un JSFiddle fonctionnel. –

+0

Cela ne résout toujours pas ma question Votre JSFiddle utilise un bouton. Ma description indique clairement que mon problème n'est pas lorsque le modal est ouvert en utilisant un modal-trigger, mon problème est quand il est appelé dynamiquement. –