Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2016, 09:22   #1
broom4
Пользователь
 
Регистрация: 11.07.2016
Сообщений: 18
Вопрос Нехорошее поведение кнопки.

Здравствуйте!
Я не программист, поэтому многие приёмы мне не знакомы.
Может быть решение просто, но я никак не добюсь.
Итак:
Имею очень большую html страницу. height неопределена.
Где-то внизу имеются кнопки.
Я их сделал так:
<a href="#" class="button1" onclick=perrez(1)>Точки</a>
В CSS описал стили, как полагается и всё работает.
perrez - это скрипт JS во внешнем файле и тоже хорошо работает.
Проблема: при нажатии на кнопку страница пролистывается в начало и это есть нехорошее её поведение.
Если стили описываю в атрибуте <button style="....>
этого не происходит, но
во-первых, кнопок много,
во-вторых, не могу вставить туда псевдоклассы.
Пожалуйста подскажите, как запретить это пролистывание.
Старый учитель Михаил Иванов(Broom).
broom4 вне форума Ответить с цитированием
Старый 11.07.2016, 10:29   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Наверное сам функционал perrez(1) вдияет на страницу.

Так как сам по себе елемент, не может ничего делать с разметкой.
Как страница орисовалась, так ей и быть. А если вы изменяете ее потом, на лету, то и результат соответствующий.

А сам код функции можно посмотреть ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 11.07.2016, 18:38   #3
broom4
Пользователь
 
Регистрация: 11.07.2016
Сообщений: 18
Стрелка Уточнение

Вряд ли.
Не отвечал, потому что ходил в лес. В нашем городе за грибами ездят на троллейбусе.
Через десять минут - грибы.
Набрал ведро белых, подосиновиков и ещё много всякой дряни.
Это так, для релаксации.
Код прикрепляю.
Старый учитель Михаил Иванов(Broom).
Вложения
Тип файла: doc Script.doc (15.5 Кб, 9 просмотров)
broom4 вне форума Ответить с цитированием
Старый 11.07.2016, 21:36   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Озвучиваю своё мнение.
Дело в том, что ссылки, содержащие в атрибуте href только заглушку в виде решётки (href="#") пролистывают, страницу вверх. Это работает ссылка.

Для того, чтобы отменить действие ссылки по умолчанию, поставьте в конец функции, которая вызывается при клике на эти кнопки (у вас это perrez), такой простой код:

Код:
return false;
Только что проверил. Всё работает, в чём я и не сомневался...

Последний раз редактировалось Вадим Мошев; 11.07.2016 в 21:41.
Вадим Мошев вне форума Ответить с цитированием
Старый 12.07.2016, 08:27   #5
broom4
Пользователь
 
Регистрация: 11.07.2016
Сообщений: 18
Хорошо Пошло!

Дорогой Вадим Мошев!
Ваша подсказка сработала.
return falst не помогло, но вы кратко мне объяснили про #
я поставил меточку чуть выше и написал href="# m2". Вот тогда
заработало.
Вообще, когда роешьсся по учебникам, то находишь либо устаревшие версии, либо очень много воды. Достаточно - справочник. Советы на форумах чаще не помогают,
а найти информацию по нюансам почти невозможно. Так я почти неделю потерял на изучение графики, пока не наткнулся на примитивный, но очень дельный пример, долго бился с созданием локальных файлов и почтой, пока не понял, что JS для этого не предназначе. Ну вот, тоже вылил много воды, а надо было вам просто сказать:
огромное спасибо!
Старый учитель Михаил Иванов(Broom).
broom4 вне форума Ответить с цитированием
Старый 12.07.2016, 10:32   #6
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,469
По умолчанию

Михаил. Вы так-то заходите ещё. Тут весело !
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 12.07.2016, 10:58   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Тогда проще
Код:
href="javascript:void(0)"
Цитата:
Вообще, когда роешьсся по учебникам, то находишь либо устаревшие версии
Не ройтесь в старых учебниках.

https://webref.ru/html
https://webref.ru
https://developer.mozilla.org (англ.)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 12.07.2016 в 11:00.
Alex11223 вне форума Ответить с цитированием
Старый 12.07.2016, 20:56   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от broom4 Посмотреть сообщение
Дорогой Вадим Мошев!
Ваша подсказка сработала.
return falst не помогло...
Очень странно. А должно работать. Я ваш код не читал. Вероятно, вы куда-то не туда поместили эту конструкцию. ну, да ладно.

Есть второй вариант, и, кстати, это касается всех ответивших. Вместо ссылки можно было воспользоваться тегом <div>, например. У него нет того действия, которым обладает тэг <a>. Почему этого никто не предложил?
Вадим Мошев вне форума Ответить с цитированием
Старый 13.07.2016, 14:34   #9
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
Тогда проще
href="javascript:void(0)"
href="javascript:;"
come-on вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поведение TSplitter Gregor Компоненты Delphi 3 27.03.2015 15:27
Странное поведение gets alex_alpha Общие вопросы C/C++ 3 27.03.2010 18:21
поведение браузеров Antoha HTML и CSS 2 30.05.2009 22:09
UCOZ: Кнопки кнопки на изображении ReDuX HTML и CSS 19 25.04.2008 02:39
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 17:35