2016-03-18 17 views
0

JS önce 2 saniye msj nasıl görüntüleneceğini:Window.location

$.ajax({ 
    url: url, 
    method: 'POST', 
    data: data, 
    }).done(id => { 
    this._handleMsg('data saved.'); 
    const newUrl = dutils.urls.resolve('test', { test_id: id }); 
    window.location.replace(newUrl); 
    }).fail((jqXHR, textStatus, errormsg) => { 
    this._handleError('Sorry. Report not saved. Reason:' + errormsg); // eslint-disable-line no-alert 
    }); 



_handleMsg(msg) { 
    if (msg) { 
     $('#header .form-group').addClass('has-msg'); 
     $('.report-error').html(msg).delay(200000).fadeIn(500000); 
    } else { 
     $('#header .form-group').removeClass('has-msg'); 
    } 
    }, 

SCSS: "veriler kaydedildi" Ben mesajı göstermek gerekir

.report-error{ 
    visibility: hidden; 
    text-align: center; 
    color: red; 
} 


.has-msg, .has-msg:focus, .has-msg:hover{ 
    input { 
     border-color: #843534; 
     -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483; 
     box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483; 
     background-color: #ffffff; 
     outline: 0; 
    } 
    label, .report-error{ 
     visibility: visible; 
     color: green; 
     font-size:30px; 
    } 
} 

2 saniye ve ardından başka bir URL'ye yönlendirin. ama öyle görünüyor ki, $ ('. report-error') html (msg) .delay (200000) .fadeIn (500000); çalışmıyor.

Herhangi bir fikrin var mı? Teşekkür

GÜNCELLEME

203   this._handleMsg('data saved.'); 
204   setTimeout(()=>{ 
205   const newUrl = dutils.urls.resolve('test', { test_id: id }); 
206   window.location.replace(newUrl); 
207   }, 2000); 
+0

setTimeout() kullanıyor? – wawawoom

cevap

0

JavaScript'in aşımını .: setTimeout() (look here for more infos)

İşte a fiddle using setTimeout ve parametrelerle bir işlevinin çağrılması olduğunu deneyin.

şöyle kodu kendisidir:

function alertMessage(firstMessage, secondMessage) { 
    alert(firstMessage + ' ' + secondMessage); 
} 

setTimeout(
    alertMessage, // name of the function to be called after the delay 
    1000, // the size of the delay in ms 
    'Hello world!', // the first parameter to be parsed to the called function 
    'You rock!' // the second parameter to be parsed to the called function 
); 

umarım bu yardımcı olur.

+0

setTimeout (this._handleMsg ('Rapor kaydedildi.'), 6000); 6 saniye sürmez gibi görünüyor. – BAE

+0

setTimeout (function() {handleMessage ('İleti kaydedildi');}, 6000); – Sommereder

+0

Yoldayken bir keman yazacağım. – Sommereder

0
$.ajax({ 
    url: url, 
    method: 'POST', 
    data: data, 
    }).done(id => { 
    this._handleMsg('data saved.'); 
    const newUrl = dutils.urls.resolve('test', { test_id: id }); 
    //below function will call after 2s that solve your purpose 
    setTimeout(function() { window.location.replace(newUrl); }, 2000); 

    }).fail((jqXHR, textStatus, errormsg) => { 
    this._handleError('Sorry. Report not saved. Reason:' + errormsg); // eslint-disable-line no-alert 
    }); 
İlgili konular