@rabodis

Как сделать option якорной ссылкой?

Как при клике на option перейти по списку blocks к нужному блоку?

<select>
	<option value="first">Первая</option>
	<option value="second">Вторая</option>
	<option value="third">Третья</option>
</select>

<div class="blocks">
	<div id="#first" class="">content</div>
	<div id="#second" class="">content</div>
	<div id="#third" class="">content</div>
</div>
  • Вопрос задан
  • 60 просмотров
Решения вопроса 2
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Ответ написан
Комментировать
Seasle
@Seasle Куратор тега JavaScript
Странная логика, но да ладно.
jQuery:
$(document).ready(function () {
	$('select').change(function () {
		const id = $(this).val();
		const target = $(`#${id}`);
		
		if (target.length !== 0) {
			$('html, body').animate({
				scrollTop: target.offset().top
			}, 250);
		}
	});
});

JS (Есть некоторые ограничения):
const select = document.querySelector('select');

select.addEventListener('change', event => {
	const target = document.getElementById(event.target.value);
	
	if (target !== null) {
		target.scrollIntoView({
			behavior: 'smooth'
		});
	}
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vitaliy_balahnin
Новичок в веб-разработке
$("select").change(function() { // событие выбора опции
    $('html, body').animate({
        scrollTop: $($(this).val()).offset().top  // куда прокручиваем
    }, 1000); // Скорость прокрутки
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы