Перемещение прокрутки не работает, когда 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;
};
Работает очень хорошо:)