Javascript 当用户关闭导航时,将其返回到页面上的原始位置
我正在处理画布外的基础导航,让它做我想做的事情,这导致了很多问题。我注意到的一个主要问题是,当我将标题粘贴到页面顶部时,它会随着我向下滚动页面,当你打开它时,它会在页面顶部打开。为此,我添加了一个。单击(函数)可将页面滚动回顶部,可在此处找到: jQuery:Javascript 当用户关闭导航时,将其返回到页面上的原始位置,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在处理画布外的基础导航,让它做我想做的事情,这导致了很多问题。我注意到的一个主要问题是,当我将标题粘贴到页面顶部时,它会随着我向下滚动页面,当你打开它时,它会在页面顶部打开。为此,我添加了一个。单击(函数)可将页面滚动回顶部,可在此处找到: jQuery: jQuery('section.left-small a.menu-icon').click(function() { var screenTop = jQuery(document).scrollTop();
jQuery('section.left-small a.menu-icon').click(function() {
var screenTop = jQuery(document).scrollTop();
jQuery('#content').css('top', screenTop);
//console.log(screenTop);
jQuery('body').scrollTop(0);
});
<nav class="tab-bar">
<section class="left-small">
<a class="left-off-canvas-toggle menu-icon" href="#"><span></span></a>
</section>
<section class="middle tab-bar-section">
<h1 class="title uppercase"><a href="/">Island Company</a></h1>
<a href="/checkout/suitcase.html">
<img src="/media/island/suitcase.png" />
<span class="suitcase-item-count">(<?= $quote->getItemCount(); ?>)</span>
</a>
</section>
</nav>
HTML:
jQuery('section.left-small a.menu-icon').click(function() {
var screenTop = jQuery(document).scrollTop();
jQuery('#content').css('top', screenTop);
//console.log(screenTop);
jQuery('body').scrollTop(0);
});
<nav class="tab-bar">
<section class="left-small">
<a class="left-off-canvas-toggle menu-icon" href="#"><span></span></a>
</section>
<section class="middle tab-bar-section">
<h1 class="title uppercase"><a href="/">Island Company</a></h1>
<a href="/checkout/suitcase.html">
<img src="/media/island/suitcase.png" />
<span class="suitcase-item-count">(<?= $quote->getItemCount(); ?>)</span>
</a>
</section>
</nav>
所以我的问题是,当用户关闭“a.left-off-canvas-toggle”菜单时,如何使用变量“screenTop”使页面返回到页面主体中存储的原始位置
这是一把有用的小提琴:我想这句话有点接近你的答案 JQuery 在演示中,首先单击
getInfo
,然后单击check
更新1:
如果我正确理解您的问题,您想滚动原始位置,请尝试以下操作
jQuery(document).ready(function() {
var screenTop=jQuery(document).scrollTop();
//sending page to the top when menu opens up
jQuery('.left-small a.menu-icon').click(function() {
//need to be able to send page back to original position before clicking on menu button
//jQuery('#content').css('top', screenTop);
console.log(screenTop);
temp = jQuery(document).scrollTop();
jQuery('body').scrollTop(screenTop);
screenTop = temp;
//when top menu closes, return page to previous location
//previous location is stored in var screenTop
//jQuery('body').animate(screenTop);
//if ('a.menu-icon')
});
});
将代码粘贴到fiddle上很好。您是否尝试过获取“div”(或任何其他容器)偏移量顶部,将数据存储到变量中并使用它滚动?程序员,我添加了一个fiddle。Maurizio,我不完全确定你的意思是什么,设置你的离开画布是固定的,这样页面就不需要滚动Charlietfl,这不起作用,因为离开画布总是在页面顶部打开。唯一的问题是我只有一个按钮可以点击。我没有两个不同的按钮,我可以点击,就像这个例子这是我想要的方式,除了它是翻转的。当我关闭菜单时,我希望页面返回到打开菜单时的位置。现在,当我向下滚动并打开导航时,它会返回到顶部。当我关上它时,它会停留在顶部。但当我再次打开和关闭它时,它会返回到我第一次打开导航时的位置