当sectionName为false时,Scrollify Move不起作用

时间:2016-09-09 04:34:42

标签: javascript jquery jquery-scrollify

我正在使用Scrollify插件。我想在单击按钮时移动到某个部分。但是,当我将sectionName设置为false时,它似乎无效。当sectionName未设置为false时,它工作正常,但我不希望在我的地址栏上看到#,因为当我刷新/重新加载页面时(例如,在第3部分)滚动,它滚动到下一部分(从第1部分到第4部分)。
sectionNamefalse时,有没有办法移动到特定部分?

这是我到目前为止所做的事情:
JS

$('.goNotify').click(function (e) {
    e.preventDefault();
    $.scrollify.move($(this).attr("href"));
});

HTML

<a href="#notify" class="goNotify">
    <button id="btnDrive" class="btnNotif" type="button" name="btnDrive" title="Get Notified When Available">Get Notified When Available</button>
</a>

<section id="notify" class="panel" data-section-name="notify">
<!-- content -->
</section>

谢谢! :)

2 个答案:

答案 0 :(得分:0)

您需要将要移动的部分的索引传递给move方法。

答案 1 :(得分:0)

当然,所以我遇到了同样的问题,并通过这段代码绕过它:

$("a.scrollify").on("click",function() {
    $.scrollify.move( getScrollifySectionIndex( $(this).attr("href") ) );
});

« getScrollifySectionIndex »方法解析href并返回面板索引:

function getScrollifySectionIndex(anchor){
    var idpanel = false;
    jQuery('section.panel').each(function(i){
        if( jQuery(this).data('section-name') == anchor.toString().replace(/#/g,"") ){
        //console.log( jQuery(this).data('section-name') , i , anchor.toString().replace(/#/g,"") );
        idpanel = i;
        }
    });
    return idpanel;
};

它非常好用:)