如何检测我目前是否在我的主页上? 例如,如果我在登录页面上,我只希望执行此JS,即:
应用程序/视图/页/ home.html.erb
有没有办法在像root_path这样的rails中写这个?
这是我的Javascript:
var landingPage = root_path; // What should this variable here be?
function updateNavStyle() {
if(landingPage.length == 0 || location.href.toLowerCase().indexOf(landingPage.toLowerCase()) >= 0) {
var offset = $('#change_color').offset();
var scroll_start = $(document).scrollTop();
if (scroll_start > offset.top) {
// the white normal navbar
$(".navbar-add").removeClass("navbar-trans");
$(".navbar-link-text").removeClass("navbar-link-white");
} else {
// what the users sees when he lands on the page
$(".navbar-add").addClass("navbar-trans");
$(".navbar-link-text").addClass("navbar-link-white");
}
}
}
答案 0 :(得分:0)
<%= javascript_include_tag "my_javascipt_file" %>
将此添加到
的底部应用程序/视图/页/ home.html.erb
您可以查看here
或只是将脚本放在
中应用程序/视图/页/ home.html.erb
使用脚本标记<script>your jquery code </script>
答案 1 :(得分:0)
如果您使用javascript,您可以通过检查turbolinks检查每个页面加载:加载事件并检查&#34;类名称&#34;由控制器和方法构建的rails自动生成的
下面是示例,例如,如果rails使用编辑方法加载后控制器
$(document).on("turbolinks:load", function() {
if ($(".posts.edit")[0] == true) {
return something;
}
});
这是coffeescript样本
$(document).on "turbolinks:load", ->
if $(".posts.edit")[0]
# do something