带有rails的Notify.js

时间:2016-10-06 12:14:49

标签: javascript jquery ruby-on-rails

我有一个简单的通知模板。我只是想在我的页面中应用通知提醒。不是按钮点击,我需要在登录/注销这样的事件后显示它。我找到了一个非常简单的库。 Here is the link

我使用它的样式并加载它。 显示正确,但jquery功能无效。这是我的模板代码

<% if !flash.nil? %>
    <div class="alert-wrapper">
      <% flash.each do |name, msg| %>
        <div id="notifications" class="alert alert-success alert-<%= name %>" role="alert"><%= msg %></div>
      <% end %>
    </div>
<% end %>

JS档案

    $( document ).ready(function() {
  Notify = function(text, callback, close_callback, style) {

var time = '10000';
var $container = $('#notifications');
var icon = '<i class="fa fa-info-circle "></i>';

if (typeof style == 'undefined' ) style = 'warning'

var html = $('<div class="alert alert-' + style + '  hide">' + icon +  " " + text + '</div>');

$('<a>',{
  text: '×',
  class: 'button close',
  style: 'padding-left: 10px;',
  href: '#',
  click: function(e){
    e.preventDefault()
    close_callback && close_callback()
    remove_notice()
  }
}).prependTo(html)

$container.prepend(html)
html.removeClass('hide').hide().fadeIn('slow')

function remove_notice() {
  html.stop().fadeOut('slow').remove()
}

var timer =  setInterval(remove_notice, time);

$(html).hover(function(){
  clearInterval(timer);
}, function(){
  timer = setInterval(remove_notice, time);
});

html.on('click', function () {
  clearInterval(timer)
  callback && callback()
  remove_notice()
});


}
});

我在这里缺少什么?

0 个答案:

没有答案