jquery - 如何使用带有 em 值的 jQuery ScrollTop 函数?

标签 jquery css font-size scrolltop

如何使此代码使用 em 值?

$(window).scroll(function() {
  if ($(window).scrollTop() > 100) {
    $('#scroller').css('top',$(window).scrollTop());
}
});

我想让 100 变成 10em,我该怎么做?

最佳答案

由于 em 因元素的字体大小而异,因此我假设您引用的是 body 字体大小。

Number(getComputedStyle(document.body, "").fontSize.match(/(\d*(\.\d*)?)px/)[1]);

这将为您提供以像素为单位的字体大小,您可以将其乘以任意数量的 em。

来源:Converting em to px in Javascript (and getting default font size)

例子:

// scroll top using 10em
var tenEms = Number(getComputedStyle(document.body, "").fontSize.match(/(\d*(\.\d*)?)px/)[1]) * 10;

$(window).scroll(function() {
  if ($(window).scrollTop() > tenEms) {
    $('#scroller').css('top',$(window).scrollTop());
  }
});

关于jquery - 如何使用带有 em 值的 jQuery ScrollTop 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23174067/

相关文章:

jquery-plugins - FitText.js 使文本更大而不是更小

javascript - 跨浏览器兼容性 HTML5 和 CSS3

javascript - 当我单击图像 slider 上的导航点时,为什么我的 jQuery slider 会发疯?

javascript - 如何在不复制的情况下重复刷新div?

html - 为什么溢出:hidden affect background's visibility of a div that has a nested div with top/bottom margin?

html - 在 Bootstrap 中放置 Div "inline"

javascript - 第二列和第三列中的图像在悬停时随机消失

CSS - 改变总宽度

html - 如何根据文本内容动态设置html表格列的宽度?

css - 如何使用 EM 和百分比进行响应式设计?