Javascript 从单独的页面导航到特定的锚定标记,带滚动和;抵消

Javascript 从单独的页面导航到特定的锚定标记,带滚动和;抵消,javascript,jquery,css,scrollto,Javascript,Jquery,Css,Scrollto,我正在使用jQuery Scroll构建一个多节启动页,以便在节之间导航。有一个固定的标题,scrollTo的“偏移量”设置会考虑到这个标题,但我希望用户能够从站点其他地方的页面导航到特定的部分(启动页面上的锚) 就目前情况而言,发生这种情况时,不考虑偏移量。。。我已经尝试在部分和#页面和主体元素上添加边距,以及在这里和那里添加一些相对位置,但部分始终与浏览器窗口的顶部对齐 我想要的是,让其他页面的链接考虑到偏移量,或者让这些链接将用户带到初始页面的顶部,然后向下滚动到所需的锚 js: //菜单

我正在使用jQuery Scroll构建一个多节启动页,以便在节之间导航。有一个固定的标题,scrollTo的“偏移量”设置会考虑到这个标题,但我希望用户能够从站点其他地方的页面导航到特定的部分(启动页面上的锚)

就目前情况而言,发生这种情况时,不考虑偏移量。。。我已经尝试在部分和#页面和主体元素上添加边距,以及在这里和那里添加一些相对位置,但部分始终与浏览器窗口的顶部对齐

我想要的是,让其他页面的链接考虑到偏移量,或者让这些链接将用户带到初始页面的顶部,然后向下滚动到所需的锚

js:

//菜单滚动
jQuery(“#菜单主菜单”).localScroll({
放松:“easeInOutQuint”,
持续时间:1200,
偏移量:-63,
哈希:对
}); // 结束卷轴
//菜单项的活动状态
$(函数(){
var节={},
_高度=$(窗口).height(),
i=0;
$('.section')。每个(函数(){
节[this.name]=$(this.offset().top;
});
$(文档)。滚动(函数(){
变量$this=$(this),
pos=$this.scrollTop();
第(i)节{
if(截面[i]>pos和截面[i]
html:


苹果 香蕉 干杯 番木瓜
(这是一个wordpress网站,在自定义菜单编码方面确实增加了额外的障碍。)


欢迎您的意见。谢谢

您可以设置jquery,这样当页面加载/准备就绪时,您可以放入一个
scrollTop(0)
,然后使用:
window.location.hash
获取javascript中的哈希值,然后只需
动画({scrollTop,$('a.+hashvaluehere.offset().top},1000)


不确定你是不是在问这个问题,但我想我理解这个问题了?

你可以设置jquery,这样当页面加载/准备就绪时,你就可以放入一个
scrollTop(0)
,然后使用
window.location.hash
在javascript中获得哈希值,然后简单地
动画({scrollTop,$('a.+hashvaluehere.offset().top},1000)


不确定你是不是在问这个问题,但我想我理解这个问题了?

太好了,这很有效。我必须用
var sectionhash=window.location.hash.substring(1)
剥离散列,然后我所要做的就是
$.scrollTo('a[name='+sectionhash+'])
。谢谢,太好了,成功了。我必须用
var sectionhash=window.location.hash.substring(1)
剥离散列,然后我所要做的就是
$.scrollTo('a[name='+sectionhash+'])
。谢谢
    //menu scrolling

    jQuery('#menu-primary').localScroll({
        easing: 'easeInOutQuint',
        duration: 1200,
        offset: -63,
        hash: true
    }); // end scroll


    // active states for menu items
    $(function(){
        var sections = {},
            _height  = $(window).height(),
            i        = 0;

        $('.section').each(function(){
            sections[this.name] = $(this).offset().top;
        });

        $(document).scroll(function(){
            var $this = $(this),
                pos   = $this.scrollTop();

            for(i in sections){
                if(sections[i] > pos && sections[i] < pos + _height){
                    $('li').removeClass('active');
                    $('.nav-' + i).addClass('active');
                }  
            }
        });
    });
<div class="menu-primary-container">
   <ul id="menu-primary" class="menu">
       <li id="menu-item-21" class="nav-section1 active"><a href="/#section1">Home</a></li>
       <li id="menu-item-13" class="nav-section2"><a href="/#section2">two</a></li>
       <li id="menu-item-12" class="nav-section3"><a href="/#section3">three</a></li>
       <li id="menu-item-14" class="nav-section4"><a href="/#section4">four</a></li>
       <li id="menu-item-19"><a href="http://galvanizingequity.com/?page_id=17">other page</a></li>
   </ul>
</div>

    <div id="scrollwrap">
    <div class="scrollbox one">
        <a name="section1" class="section"></a>
        <h2>Apples</h2>
    </div>
    <div class="scrollbox two">
        <a name="section2" class="section"></a>
        <h2>Bananas</h2>
    </div>
    <div class="scrollbox three">
        <a name="section3" class="section"></a>
        <h2>Toast</h2>
    </div>
    <div class="scrollbox four">
        <a name="section4" class="section"></a>
        <h2>Papaya</h2>
    </div>
    </div><!--scrollwrap-->