当我添加位于标题元素下方的导航栏元素时,导航栏会过早添加,就好像标题中的图像不存在一样。
导航栏应该在导航栏到达顶部时附加,而不是更早。我用于此的代码将偏移量设置为导航栏的滚动位置,但问题是,这个位置的计算就像标题中的图像不存在一样。
我尝试在图像周围放置 p 标签,将图像高度显式设置为固定高度以及自动,将显示属性设置为每个可能的值,但无济于事。我没有在标题中浮动我的图像。当我在标题中添加额外的文本行时,导航附加到该高度(导航栏附加的偏移高度检测文本的高度,但不检测图像的高度)。
*编辑:小提琴工作正常(这是所需的行为)。 http://jsfiddle.net/gwho/8sAYW/ (由于某种原因,这个小提琴没有表现出有问题的行为)。
咖啡脚本中的 JS
ready = ->
$('.affixable').affix({
offset: { top: $('.affixable').offset().top }
});
$('nav').height($('.affixable').height());
$(document).ready(ready);
$(document).on('page:load', ready);
**编辑:但我的本地主机的行为不同,如屏幕截图所示。
我认为问题可能是在rails的资产管道中最后加载图像(在导航栏部分之前)......并且在呈现图像之前计算js代码中导航栏的偏移位置......而在JS小提琴中, 没有这个问题。
如果/我应该如何推迟运行 javascript 代码,以便在加载所有图像后运行?