Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户关闭导航时,将其返回到页面上的原始位置_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 当用户关闭导航时,将其返回到页面上的原始位置

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:

  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>&nbsp;
        </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>&nbsp;
        </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,这不起作用,因为离开画布总是在页面顶部打开。唯一的问题是我只有一个按钮可以点击。我没有两个不同的按钮,我可以点击,就像这个例子这是我想要的方式,除了它是翻转的。当我关闭菜单时,我希望页面返回到打开菜单时的位置。现在,当我向下滚动并打开导航时,它会返回到顶部。当我关上它时,它会停留在顶部。但当我再次打开和关闭它时,它会返回到我第一次打开导航时的位置