Rails:JQuery在控制台中执行,而不是在js文件中执行

时间:2012-09-20 17:32:59

标签: jquery ruby-on-rails ruby-on-rails-3

我正在开发一个用户可以发布的应用。我想这样做,以便当在网址中对帖子的ID进行哈希处理时,帖子会闪烁。要做到这一点,这是我的代码:

function getHash() {
  var hash = window.location.hash;
  return hash; 
}

if (getHash()) { 
    $(getHash()).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
}

现在,我知道如果我放了一个alert('in the if statement');,这个代码就会运行b / c,只要url中有一个哈希值,它就可以运行。我也知道这部分有用:

    $(getHash()).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);

因为如果我在控制台中运行它,帖子会闪烁。什么是错误的,不允许这个工作?

1 个答案:

答案 0 :(得分:1)

尝试这样的代码

function getHash() {
  var hash = window.location.hash;
  return hash; 
}

$(document).ready(function(){
  if (getHash()) { 
    $(getHash()).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
  }
})

我认为,因为当你的脚本执行时你的元素不存在。准备好文档时,准备好整个文档,并且所有元素都在原地。由于一切似乎都很好,我认为这将有效

由于