Как предотвратить загрузку страницы при прокрутке

есть кнопка, которая при нажатии прокручивает страницу вниз

<form action = "#demo-section">
        <button id = "demo"   >demo</button>

Он связан с этим div, как показано ниже:

<div  id = "demo-section" >

но когда я нажимаю на страницу, она обновляется, а затем идет вниз, а также? в адресной строке: http: //xxxx.xx/? # demo-section

Если вы не пишете настоящую форму с вариантами, которые пользователь должен сделать, или полями, которые пользователь должен заполнить, не используйте для этого form. Вместо этого используйте <a href = "#demo-section"> и стиль как кнопку, потому что это то, что это: навигационная ссылка.

Mike 'Pomax' Kamermans 01.01.2019 17:22
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
44
2

Ответы 2

Если атрибут «type» не упоминается, все кнопки внутри элемента формы действуют как type = «submit». Так что просто добавьте к кнопке type = "button", и она заработает.

Обновлено: (как предлагает Майк 'Pomax' Камерманс в своем комментарии) вам лучше использовать тег привязки и стилизовать его как кнопку, если это то, чего ваша форма стремится достичь ..

установка типа, как вы упомянули, приводит к тому, что эта кнопка не работает. Я хочу использовать <тег и div, чтобы сделать кнопку прокрутки

Saeedeh 01.01.2019 17:41

Конечно. Также необходимо переместить «действие» из формы в событие «onclick» и т. д. Рад, что вы выбрали способ привязки - это то, что вы собираетесь делать в любом случае (-:

A. Meshu 01.01.2019 17:48

Хорошо, использовать якорь проще :)

Saeedeh 01.01.2019 17:49

Как уже упоминалось, вы должны добавить к кнопке атрибут type со значением "button", поэтому изменив

<button id = "demo"   >demo</button>

к

<button id = "demo" type = "button">demo</button>

должен работать как задумано.

Кроме того, вы также можете выяснить, нужно ли использовать тег привязки (<a>) и установить для атрибута href значение #demo-section вместо использования form. Это будет иметь тот же эффект, но без элемента, который должен быть кнопкой (и без необходимости иметь форму упаковки - формы не предназначены для навигации, как упоминалось в комментарии Майка 'Pomax' Камерманса, и, следовательно, наиболее правильный подход будет наверное, этот).

Пример указанного метода:

<a href = "#demo-section">demo</a>

Это будет отображаться как гиперссылка с текстом «демонстрация», но ее можно изменить на любую другую вещь, включая другие элементы HTML, что будет более гибким, чем использование формы и кнопки (вы также можете стилизовать тег привязки с помощью CSS, чтобы он может даже кнопку быть, если желательно).

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