让jQuery计算div高度,减去特定的em值

时间:2016-04-13 12:16:55

标签: javascript jquery

我使用ems进行布局构建。 jQuery默认使用像素。我想:

  • 插入当前正在减去450个像素的em值。

如果有帮助我确实从Filament Group找到了plugin,但我不确定如何在我正在使用的功能中使用该插件。我对所有建议持开放态度!

$(window).scroll(function(){
  var distanceFromTop = $(document).scrollTop();
    if (distanceFromTop >= $('#header').height() - 450){
        $('#call').addClass('fixed');
    } else {
        $('#call').removeClass('fixed');
    }
}); 

我准备了jsfiddle,感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

  • 使用与标题中相同的字体大小创建宽度为1em的隐藏div。
  • 获取宽度var ww = $("#hidden_div").width();
  • 使用此费率将em转换为px。 var the_pixels = em_wanted * ww;
  • 使用那么多像素 - $('#header').height() - the_pixels

答案 1 :(得分:0)

使用第一篇文章中链接的Filament Group插件:

if (distanceFromTop >= $('#header').height() - $(8).toPx()){

这会从#header高度减去8em的px值。