Abrir Modal Automaticamente Após Carregamento da Página

3 respostas
kevinsandrade

Olá! Eu tenho provavelmente um problema de iniciante, mas vamos lá.

Eu tenho um Modal que abre após o clique em um botão.

O Modal:

< div class=“md-modal md-effect-1 id=modal-1 >

< div class=“md-content >

Conteúdo

< button class=“md-close >Não, obrigado< /button >

< /div >

< /div >

O Botão:

< button class=“md-trigger” data-modal=“modal-1” id=“cot” >Cotação Auto< /button >

O CSS:

.md-perspective,

.md-perspective body {

height: 100%;

overflow: hidden;

}
.md-perspective body  {

background: #222;

-webkit-perspective: 600px;

-moz-perspective: 600px;

perspective: 600px;

}
.container {

background: #32d888;

min-height: 100%;

}
.md-modal {

position: fixed;

top: 50%;

left: 50%;

width: 50%;

max-width: 630px;

min-width: 320px;

height: auto;

z-index: 2000;

visibility: hidden;

-webkit-backface-visibility: hidden;

-moz-backface-visibility: hidden;

backface-visibility: hidden;

-webkit-transform: translateX(-50%) translateY(-50%);

-moz-transform: translateX(-50%) translateY(-50%);

-ms-transform: translateX(-50%) translateY(-50%);

transform: translateX(-50%) translateY(-50%);

}
.md-show {

visibility: visible;

}
.md-overlay {

position: fixed;

width: 100%;

height: 100%;

visibility: hidden;

top: 0;

left: 0;

z-index: 1000;

opacity: 0;

background: rgba(50,216,136,0.5);

-webkit-transition: all 0.3s;

-moz-transition: all 0.3s;

transition: all 0.3s;

}
.md-show ~ .md-overlay {

opacity: 1;

visibility: visible;

}
/* Content styles */

.md-content {

color: #fff;

background: #32d888;

position: relative;

border-radius: 3px;

margin: 0 auto;

}
.md-content h3 {

margin: 0;

padding: 0.4em;

text-align: center;

font-size: 2.4em;

font-weight: 300;

opacity: 0.8;

background: rgba(0,0,0,0.1);

border-radius: 3px 3px 0 0;

}
.md-content > div {

padding: 15px 40px 30px;

margin: 0;

font-weight: 300;

font-size: 1.15em;

}
.md-content > div p {

margin: 0;

padding: 10px 0;

}
.md-content > div ul {

margin: 0;

padding: 0 0 30px 20px;

}
.md-content > div ul li {

padding: 5px 0;

}
.md-content button {

display: block;

margin: 0 auto;

font-size: 0.8em;

}

/* Individual modal styles with animations/transitions */

/* Effect 1: Fade in and scale up */

.md-effect-1 .md-content {

-webkit-transform: scale(0.7);

-moz-transform: scale(0.7);

-ms-transform: scale(0.7);

transform: scale(0.7);

opacity: 0;

-webkit-transition: all 0.3s;

-moz-transition: all 0.3s;

transition: all 0.3s;

}
.md-show.md-effect-1 .md-content {

-webkit-transform: scale(1);

-moz-transform: scale(1);

-ms-transform: scale(1);

transform: scale(1);

opacity: 1;

}

O Java:

var ModalEffects = (function() {

function init() {

	var overlay = document.querySelector( '.md-overlay' );

	[].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) {

		var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ),
			close = modal.querySelector( '.md-close' );

		function removeModal( hasPerspective ) {
			classie.remove( modal, 'md-show' );

			if( hasPerspective ) {
				classie.remove( document.documentElement, 'md-perspective' );
			}
		}

		function removeModalHandler() {
			removeModal( classie.has( el, 'md-setperspective' ) ); 
		}

		el.addEventListener( 'click', function( ev ) {
			classie.add( modal, 'md-show' );
			overlay.removeEventListener( 'click', removeModalHandler );
			overlay.addEventListener( 'click', removeModalHandler );

			if( classie.has( el, 'md-setperspective' ) ) {
				setTimeout( function() {
					classie.add( document.documentElement, 'md-perspective' );
				}, 25 );
			}
		});

		close.addEventListener( 'click', function( ev ) {
			ev.stopPropagation();
			removeModalHandler();
		});

	} );

}

init();

})();

A dúvida é: como fazer esse modal já estar aberto quando a página for carregada?

3 Respostas

danielbussade

Se eu entendi bem a dúvida, você pode chamar no evento onLoad

algo assim:

<body onload="nomeFuncao()">

kevinsandrade

Sim, tentei chamar o evento assim, o problema é: eu não sei que nome a função inicial de abrir o modal tem. Tentei usar: ModalEffects, porém sem sucesso.

danielbussade

Como você fez a chamada do Modal Effects?

Criado 18 de setembro de 2017
Ultima resposta 19 de set. de 2017
Respostas 3
Participantes 2