#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. Уведомление появляется и остается на текущей странице.