Перемещение прокрутки не работает, когда sectionName имеет значение false

Я использую плагин Scrollify. Я хочу перейти в раздел, когда я нажимаю кнопку. Но когда я установил sectionName в falseКажется, это не работает. Работает нормально когда sectionName не установлен в false, но я не хочу видеть # в моей адресной строке, потому что когда я обновляю / перезагружаю страницу (например, в 3-м разделе) и прокручиваю ее, она прокручивается до следующего раздела (с 1-го по 4-й раздел).
Есть ли способ переместить в определенный раздел, когда sectionName является false?

Вот что я сделал до сих пор:
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 ответа

Решение

Вам нужно проанализировать индекс раздела, в который вы хотите перейти, к методу перемещения.

Конечно, у меня возникла та же проблема, и я обошел ее следующим фрагментом кода:

$("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;
};

Работает очень хорошо:)

Другие вопросы по тегам