Igorsrt,
а вы не пробовали использовать альтернативные варианты? вроде того, что я кинул выше. можно сделать плавную прокрутку от любой ссылки к своему якорю https://jsfiddle.net/fweycbt1/4/ Я в js не силен, но в большинстве случаем стараюсь решать задачи без скриптов. Ведь если напихать много и не аккуратно, они начинают конфликтовать. Возможно, из-за этого и не работает ваш слайдер. |
<style>
button{
margin-bottom: 500px;
}
</style>
<button id="but">скролл</button>
<div id="div">Блок</div>
<script>
but.onclick =e=> div.scrollIntoView({behavior: 'smooth' });
</script>
можно проще |
j0hnik,
разве? это же надо для каждой кнопки прописывать, а если якорь в футере, то все поедет https://jsfiddle.net/fweycbt1/5/ |
madeas,
ничего, подучитесь, начнете разбираться. ;) |
так у меня ничего и не получилось толком... из кнопок в слайдере прокрутка не работает почему-то, если в ссылке указать не просто #анкор, а страница#анкор - то тоже не крутится ((
|
Igorsrt,
https://jsfiddle.net/fweycbt1/6/ |
Мне, если честно вполне вот этот вариант устроил бы (т.е. при помощи добавления класса к нужным ссылкам):
$('a.nav').click(function() {
$("html, body").animate({
scrollTop: $($(this).attr('href')).offset().top + "px"
}, {
duration: 500
});
return false;
});
но почему он не срабатывает на ссылках в слайдере, я же там класс nav тоже добавляю?... второй день голову ломаю |
Igorsrt,
$('a.nav').click(function(e) {
e.preventDefault();
$("html, body").animate({
scrollTop: $('#' + $(this).attr('href').split('#').pop()).offset().top + "px"
}, {
duration: 500
});
});
Цитата:
Как вариант, можете попробовать слайдер инициировать после этого скрипта. |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 00:50. |