Тайм-аут плагина Jquery noty не работает при подаче списка сообщений. Я получаю список сообщений из сервлета и вызываю noty вот так.
<script>
function callNotification()
{
<c:foreach var = "message" items = "${sessionScope.notification}">
notify('${message}');
</c:foreach>
}
function notify(message)
{
noty({
"text": message,
"theme": noty_theme_facebook",
"layout": topRight,
"information","animateOpen":{"height":"toggle"},
"information","animateOpen":{"height":"toggle"},
"speed":500,
"timeout":5000,
"closeButton":true,
"closeOnSelfClick":true,
"closeOnSelfOver":false,
"modal":false
})
</script>
В идеале это должно перебирать сообщения и печатать их с тайм-аутом 5000 мс. Но это печатает все сообщения сразу. Далее я попытался использовать встроенную функцию setTimeout javascript и заменил на нее callNotification.
function callNotification()
{
<c:foreach var = "message" items = "${sessionScope.notification}">
(function(message){
setTimeout(function(){notify('${message}');},5000)
}('${message}')
}}
</c:foreach>
}
Но и это оказалось неэффективным. Как ни странно, тайм-аут работает нормально, когда я заменяю "layout":center
в методе уведомления. Где я ошибаюсь. Я хочу, чтобы сообщения отображались со временем из 5 секунд, после чего первое сообщение автоматически стирается, а следующее появляется.