簡體   English   中英

如何使用rails和javascript查找並返回我的div元素?

[英]How can I find and return my div element with rails and javascript?

我正在嘗試構建一段Javascript,該JavaScript從網頁上獲取該URL,以查看地址中是否包含錨點,然后它將頁面向下滾動到該錨點,我必須這樣做,因為bootstraps sticky-top導航會阻止我嘗試查看的元素的視圖。

我的js看起來像

findLink = function(){
  link = document.location.href
  parseLink(link)
}

parseLink = function(link) {
  if (link.split('').includes('#')) {
    post_id = link.split('#')[1];
    moveLink(post_id)
  }
}

moveLink = function(post_id){
  element = $('#+post_id').get()

}

$(document).on('turbolinks:load', findLink()) ||
$(document).on('page:load', findLink())

我的問題是,即使我嘗試尋找

console.log($('#my_id')) # returns jQuery.fn.init {}
console.log($('#my_id').get()) # returns an empty []

我得到兩個空數組。 我不確定為什么會這樣或如何解決。

我最終寫了一些不完美的JS,但它完成了工作。

document.addEventListener('turbolinks:load', function(){
  link = document.location.href
  parseLink(link)
});

parseLink = function(link) {
  if (link.split('').includes('#')) {
    post_id = link.split('#')[1];
    moveLink(post_id)
  }
}

moveLink = function(post_id){
  element = document.getElementById(post_id)
  $('html,body').animate({
    scrollTop: $(element).position().top -= 200
   });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM