#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
У меня есть раздел «панель кнопок», который я хочу показывать только после того, как пользователь нажал на кнопку «настройки». Я установил div панели кнопок для отображения: нет в моем css. К сожалению, при нажатии кнопки настройки div отображается на долю секунды, а затем исчезает. Кто-нибудь знает, почему это может происходить? Мой текущий код:
$(document).ready(function() {
$('#settings').on('click', function() {
$('#button-bar').css('display', 'inline-block');
});
});
Ответ №1:
Проблема в том, что ваш href=»» пуст, он перезагружает страницу. Поместите в них хэштеги. href=»#»
Ответ №2:
$(document).ready(function() {
$('#settings').on('click', function() {
$('#button-bar')show();
});
});
or maybe
$(document).ready(function() {
$('#settings').click(function() {
$('#button-bar')show();
});
});
Комментарии:
1. Это должно сработать, хотя .css(«»,»») тоже должен работать. Если это не сработает, попробуйте опубликовать скрипку с большим количеством вашего кода, это может быть что-то другое, а не только эта функция.
2. Похоже, у него та же проблема — он отображается на долю секунды сразу после того, как я отпускаю кнопку мыши, а затем исчезает.
3. вы пробовали .click(function() вместо .on(функция «click»() ??
4. У меня есть; у него та же проблема. Мне сказали, что функция .on() была более элегантной, поэтому я пошел с этим.
5. Вам придется опубликовать больше вашего кода в скрипке, в этом не должно быть ничего плохого.
Ответ №3:
Вам нужно добавить «return false;» в конце вашей функции, в противном случае она следует по ссылке html, которая пуста.
(редактировать: href =»#» будет работать, чтобы исправить вашу ошибку, но это также приведет к переходу страницы наверх при нажатии. Возвращаемое значение false; остановит это, если это проблема. )