页面特定的Javascript无效

时间:2017-10-03 01:13:50

标签: javascript ruby-on-rails asset-pipeline

我正在构建一个rails应用程序,以便拥有特定于页面的应用程序。

我已将此添加到index.html.erb的{​​{1}}底部:

PagesController

如果代码位于顶部,则代码会将<script> </script> 不透明度设置为navbar,但不知何故,此代码也会显示在我0的{​​{1}}中。

关于这是怎么回事?

new.html.erb

这是我contactcontroller $(document).ready(function() { $(window).scroll(function() { /* run on load */ if ($('.nav-fixed-top').css("opacity") == 0) { $('.nav-fixed-top').fadeTo(500, 1); /* fadeIn if not visible */ } else { if ($(window).scrollTop() === 0) { $(".nav-fixed-top").fadeTo(500, 0); } }; }); }); 的底部。但它似乎也在index.html.erb PagesController中被调用。

1 个答案:

答案 0 :(得分:0)

我无法解释为什么在脚本标记中发生了这种情况,但我确实知道在Rails应用程序中使用尽可能少的标记是最佳做法。我要解决此问题的方法是将其放在pages.js文件中并使用它 -

var new_page_regex = new RegExp(/pages\/new/);

if(new_page_regex.test(window.location.pathname) {
  /* your code here*/
}