jquery - 让Flash消息在rails中的同一页面中消失

标签 jquery ruby-on-rails twitter-bootstrap

我想让闪现消息在几秒钟后消失。所以我使用这些代码:

$(function() {
  $('.alert').slideUp(1500);
});

.alert 是我添加到 flash 消息中的 Bootstrap 类。

而我的应用程序只能通过omniauth实现用户登录/注销功能。 (对于 facebook 和 google plus)登录/注销代码列在最后。

当我登录时,闪现消息如我想象的那样消失了。但是当我注销时,闪光并没有消失。

但是如果我使用这些代码,这个函数就会正常工作。 (但与我想要的略有不同)

$(function() {
  setInterval(function(){
    $('.alert').slideUp(500);
  }, 1000);
});

登录/退出代码:

class SessionsController < ApplicationController
  def create
    auth_data = request.env['omniauth.auth']
    auth = Authorization.find_by( provider: auth_data['provider'], uid: auth_data['uid'] ) 
    user = auth.nil? ? User.create_with_omniauth(auth_data) : auth.user
    session[:user_id] = user.id
    if !user.email
      redirect_to edit_user_path(user), :alert => "Please enter your email address."
    else
      redirect_to root_url, :notice => "Signed in!"
    end
  end

  def destroy
    reset_session
    redirect_to root_url, :notice => "Signed out!"
  end

  def new
  end

  def failure
    redirect_to root_url, :alert => "Authentication error: #{params[:message].humanize}"
  end
end

最佳答案

试试这个

$(function() {
  setTimeout(function(){
    $('.alert').slideUp(500);
  }, 1000);
});

关于jquery - 让Flash消息在rails中的同一页面中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949948/

相关文章:

jQuery 使用 AJAX 加载 Google 可视化 API

jQuery 淡出 div 在 Flash 对象顶部时无法正确显示边框

ruby-on-rails - 如何使用事件记录批量处理 each_cons

jQuery Slick 轮播 slider 同步不起作用

javascript - 为什么 array.sort 在 JavaScript 中不起作用?

javascript - 图像作为较小的图像位

ruby-on-rails - 通过 rake 将 Structure.sql 加载到 Rails 数据库中

ruby-on-rails - 如何输出数组中元素的位置

html - Mozilla Firefox 显示图片的不同位置

Javascript - Jquery 不显示表单中传递的值