【问题标题】:onclick scroll down calc (100% - 60px)onclick 向下滚动计算 (100% - 60px)
【发布时间】:2015-04-12 10:13:42
【问题描述】:

我正在开发我的 Tumblr 博客并设置了以下 CSS:

img
{
    max-height: calc(100% - 60px);
    margin-top:30px;
}

所以边距(顶部和底部)都是 30 像素。

我正在尝试添加两个按钮 prevnext,当单击它们时,将向上或向下滚动页面(100% - 60px)。

这是我的 JS:

$(function() {
    $("#next").on("click", function() {
        $("body").animate({"scrollTop": window.scrollY+100}, 100);
        return false;
    });
}); 

$(function() {
    $("#previous").on("click", function() {
        $("body").animate({"scrollTop": window.scrollY-100}, 100);
        return false;
    });
}); 

这是我的小提琴:https://jsfiddle.net/cztqjwb2/1/

任何帮助将不胜感激。

谢谢。

PS:我也不知道为什么它只适用于 Safari。

【问题讨论】:

  • 请在您的问题中发布代码和任何相关信息,不要外包。如果链接失效,您的问题也会随之失效。

标签: javascript jquery scrolltop scrollto


【解决方案1】:
$("body").animate({"scrollTop": window.scrollY + 100}, 100);

滚动到当前位置 + 100px。假设 100% - 60px 你的意思是 window height - 60px(而不是 document height),将 100 替换为 (window.innerHeight - 60)

$("body").animate({"scrollTop": window.scrollY + window.innerHeight}, 100);

我相应地更新了your fiddle

【讨论】:

  • 你知道为什么它只在 Safari 中有效吗? @Siguza
  • 它实际上适用于 Safari、Chrome 和 Opera,只是不适用于 Firefox(IE 我没有测试,我不在乎)。请参阅this SO question & answer 了解为什么会这样以及如何解决它。再次更新the fiddle
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多