javascript – noty Jquery插件超时没有发生

前端之家收集整理的这篇文章主要介绍了javascript – noty Jquery插件超时没有发生前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当提供消息列表时,Jquery noty插件超时不起作用.我从servlet获取消息列表并像这样调用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"},"speed":500,"timeout":5000,"closeButton":true,"cloSEOnSelfClick":true,"cloSEOnSelfOver":false,"modal":false
          })
    </script>

理想情况下,这应该遍历消息并以5000ms的超时打印它们.但是这会立即打印所有消息.我进一步尝试使用javascript本机setTimeout函数并用此替换了我的callNotification.

function callNotification()
    {
        <c:foreach var = "message" items = "${sessionScope.notification}">
         (function(message){ 
            setTimeout(function(){notify('${message}');},5000)
         }('${message}')
        }}
        </c:foreach>
    }

但这也被证明是无效的.奇怪的是,当我替换“layout”时,超时似乎工作正常:中心在notify方法中.我哪里错了.我希望消息显示时间超过5秒,之后第一条消息被自动擦除,然后显示下一条消息.

解决方法

对Noty进行编码,以便在Noty中有按钮时,它会禁用超时.这对我来说没有意义,但事实就是如此.

这是罪魁祸首(第62行):

60: // If we have button disable closeWith & timeout options
61: this.options.closeWith = [];
62: this.options.timeout = false;

只需删除this.options.timeout = false;如果你有一个带按钮的Noty,这将保持超时工作.

猜你在找的jQuery相关文章