31.05.2018, 10:01
|
|
Профессор
|
|
Регистрация: 13.04.2018
Сообщений: 232
|
|
Igorsrt,
а вы не пробовали использовать альтернативные варианты? вроде того, что я кинул выше. можно сделать плавную прокрутку от любой ссылки к своему якорю https://jsfiddle.net/fweycbt1/4/
Я в js не силен, но в большинстве случаем стараюсь решать задачи без скриптов. Ведь если напихать много и не аккуратно, они начинают конфликтовать. Возможно, из-за этого и не работает ваш слайдер.
Последний раз редактировалось madeas, 31.05.2018 в 10:04.
|
|
31.05.2018, 10:24
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<style>
button{
margin-bottom: 500px;
}
</style>
<button id="but">скролл</button>
<div id="div">Блок</div>
<script>
but.onclick =e=> div.scrollIntoView({behavior: 'smooth' });
</script>
можно проще
|
|
31.05.2018, 10:34
|
|
Профессор
|
|
Регистрация: 13.04.2018
Сообщений: 232
|
|
j0hnik,
разве? это же надо для каждой кнопки прописывать, а если якорь в футере, то все поедет https://jsfiddle.net/fweycbt1/5/
|
|
31.05.2018, 10:43
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
madeas,
ничего, подучитесь, начнете разбираться.
|
|
31.05.2018, 14:33
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
так у меня ничего и не получилось толком... из кнопок в слайдере прокрутка не работает почему-то, если в ссылке указать не просто #анкор, а страница#анкор - то тоже не крутится ((
|
|
31.05.2018, 14:45
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
|
|
31.05.2018, 15:14
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
Мне, если честно вполне вот этот вариант устроил бы (т.е. при помощи добавления класса к нужным ссылкам):
$('a.nav').click(function() {
$("html, body").animate({
scrollTop: $($(this).attr('href')).offset().top + "px"
}, {
duration: 500
});
return false;
});
но почему он не срабатывает на ссылках в слайдере, я же там класс nav тоже добавляю?... второй день голову ломаю
|
|
31.05.2018, 15:19
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Igorsrt,
$('a.nav').click(function(e) {
e.preventDefault();
$("html, body").animate({
scrollTop: $('#' + $(this).attr('href').split('#').pop()).offset().top + "px"
}, {
duration: 500
});
});
Сообщение от Igorsrt
|
но почему он не срабатывает на ссылках в слайдере, я же там класс nav тоже добавляю
|
Возможно слайдер убивает всплытие события.
Как вариант, можете попробовать слайдер инициировать после этого скрипта.
Последний раз редактировалось Nexus, 31.05.2018 в 15:27.
|
|
31.05.2018, 15:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от Igorsrt
|
но почему он не срабатывает на ссылках в слайдере, я же там класс nav тоже добавляю?...
|
не смотрел, но обычно стрелки вперёд/назад перекрывают слайд, и кликнуть нельзя, либо все клики по слайду отменены, чтоб можно было его "таскать"
|
|
31.05.2018, 20:25
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
Сообщение от рони
|
не смотрел, но обычно стрелки вперёд/назад перекрывают слайд, и кликнуть нельзя, либо все клики по слайду отменены, чтоб можно было его "таскать"
|
Кликнуть-то я могу по ссылке и будет переход на якорь... только без прокрутки почему-то
|
|
|
|