【问题标题】:Scroll to top after click点击后滚动到顶部
【发布时间】:2016-08-01 19:30:35
【问题描述】:

当我打开我的菜单并向下滚动时,将其关闭并再次重新打开,菜单会停留在该点,但我希望它在每次您打开它时也使用锚链接打开。

我添加了这个以在单击链接时关闭菜单:

$("li > a").on("click", function() {
        $(".drawer-hamburger").trigger("click");
    });

一切正常,除了重新打开后它不会顶部。

我试过了:

$('#div').scrollTop();

但这没有任何效果。到目前为止唯一有效的是:

window.location.reload(true)

但我认为每次都重新加载页面有点过头了。

有没有办法在点击时关闭菜单并在重新打开后将菜单返回到顶部?

这一切都与这个话题有关,

Turn blivesta animsition menu into off canvas (push body) menu

但因为这是一个单独的问题,我认为最好开始一个新主题。

编辑:让我更具体地说明情况。 我通过单击汉堡图标打开我的菜单。该列表是可滚动的,所以当我向下一点时,单击锚链接,菜单关闭,我在我的锚点。到目前为止,一切都很好。 当我重新打开菜单时,它仍然在我滚动到的菜单中。但我想在重新打开后再次出现在菜单顶部,而不刷新我的页面。

编辑 #2:在此处观看固定结果:http://codepen.io/Jorus/pen/zBLBpy

【问题讨论】:

标签: javascript jquery css


【解决方案1】:

你需要翻译成0px:

$("li > a").on("click", function() {
    $(".drawer-menu").css("transform","translate(0, 0) translateZ(0)");
    $(".drawer-hamburger").trigger("click");
});

已编辑

【讨论】:

  • @jorus 你能创建一个 jsfiddle 吗?
  • 我尝试了其他主题,但效果不佳。让我看看我能不能再做一次。
  • 对不起,我不能让它在 jsfiddle 中工作,这是一个如此复杂的网站 -.- 有没有办法上传我的文件?像一个替代的临时服务器
  • Codepen 完成了这项工作:codepen.io/Jorus/pen/zBLBpy 打开汉堡包图标,向下滚动一点并点击一个链接,例如链接 14. 菜单关闭,再次打开菜单并查看菜单中的滚动点在哪里。请让我知道它是否有效。
  • 只需在关闭函数中添加相同的行。 (代码笔的第 78 行)。
【解决方案2】:

试试

var x = size of body;
window.scrollBy(0, x);

x 是主体的大小,以像素为单位。

window.scrollBy 函数滚动多个像素,所以如果滚动正文的大小,您将始终位于顶部。

【讨论】:

  • 请编辑更多信息。不建议使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。
  • 也许这会有所帮助:codepen.io/Jorus/pen/zBLBpy
【解决方案3】:

我喜欢使用这段 jquery 代码将页面滚动到给定位置。

$("html,body").stop().animate( { scrollTop: 0 }, 1234, "swing" );

stop() 结束任何当前正在运行的动画,然后我们定义我们的animation 来处理scrollTop-值,0 表示页面的绝对顶部,放入任何你需要的东西,比如可能$('#targetElementId').scrollTop() . 1234 表示需要 1.234 秒,“swing”实际上是默认的easing 函数——唯一的选择是线性的。

【讨论】:

  • 有了这个,我的菜单停留在他的滚动点,但“摆动”到我的页面顶部。效果不错,但不适合我的菜单。
  • 请添加描述以支持您发布的代码。例如为什么这能解决问题?
  • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性!
猜你喜欢
  • 2015-06-16
  • 2019-01-21
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多