javascript - 使用数据属性的 Bootstrap 词缀仅适用于页面重新加载

标签 javascript twitter-bootstrap ruby-on-rails-4 twitter-bootstrap-3 turbolinks

我正在开发一个 Rails4 应用程序,通过数据属性使用 Bootstrap 词缀功能。

我正在使用这样的数据属性:

<div data-spy="affix" data-offset-top="300" data-offset-bottom="615">
...stuff...
...stuff...
...stuff...
</div>

我唯一的词缀类 CSS 如下:

.affix {
    width: 255px;
    margin-top: -300px;
}

.affix-bottom {
    position: relative;
}

.affix-top {
    position: relative;
}

当我重新加载页面时一切正常,除了当我最初从我的网络应用程序的另一个页面导航到它时它不起作用。

似乎其他人对此有困难,这是一个 turbolinks 问题。尝试了他们所有的方法,但没有任何效果: 没有尝试使用 jquery-turbolinks 所以我最终一起删除了 turbolinks.. 如果有人知道我可以做到这一点,我宁愿使用 turbolinks 如果我能让它工作。 关于为什么会发生这种情况的任何想法?

最佳答案

我最终删除了数据属性并在页面加载后初始化词缀(我使用 jquery.turbolinks ),如下所示:

  $(document).ready ->
    $('#myAffix').affix({
      offset:
        top: 100,
        bottom: 0
    })

(请原谅我的 CoffeeScript !)

如果您需要使用数据属性设置偏移量等(即您站点上的每个词缀都有不同的偏移量)。例如,您可以创建自己的数据属性并使用 $('#myAffix').data('offset-top') 获取它们。

关于javascript - 使用数据属性的 Bootstrap 词缀仅适用于页面重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949892/

相关文章:

javascript - 正则表达式在开始或结束时没有空格,但允许中间有空格但也只允许一个字符输入

javascript - 未捕获的语法错误 : Unexpected token h error for json option passed as param to a function

javascript - 如何使用 &lt;input type ="file"> 选择多个文件?

jquery - 无法通过我的浏览器访问我的 Bower 文件

javascript - 页面重新加载时 float 导航超出边界

javascript - 使用 AJAX/jQuery 动态创建时多次提交表单

ruby-on-rails - Rails4 : how to restrict streaming video files access?

javascript - 通过在 Javascript 中使用回调函数对数组进行平均

ruby-on-rails - 如何使特定 View 不继承自 application.html.erb?

ruby - 检查字符串在 Ruby on Rails 中是否有顺序字符