Notify.js с рельсами

#javascript #jquery #ruby-on-rails

#javascript #jquery #ruby-on-rails

Вопрос:

У меня есть простой шаблон уведомления. Я просто хочу применить уведомление на своей странице. Не для нажатия кнопки, мне нужно показать это после подобных событий входа / выхода. Я нашел библиотеку, которая очень проста. Вот ссылка

Я использовал его стили и загрузил его. Он отображается правильно, но функции 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 amp;amp; 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 amp;amp; callback()
  remove_notice()
});


}
});
  

Чего мне здесь не хватает?

Комментарии:

1. Итак, в чем именно проблема? Он не отображается или отображается только первый и т. Д.? PS. У вас есть более одного '#notifications элемента. Идентификаторы должны быть уникальными.

2. Работа со стилями. Но не работают функции jquery. Уведомление появляется и остается на текущей странице.