Я могу придумать несколько решений для этого, но я бы порекомендовал первое.
- Вместо тегов
a
используйте button
без атрибута href
.
<div class="col-md-6">
<button id="Cyborg" class="btn btn-block">Cyborg</button>
</div>
<div class="col-md-6">
<button id="Lux" class="btn btn-block">Lux</button>
</div>
Добавьте
href="javascript:void(0)"
или
href="#"
к своим тегам
a
<div class="col-md-6">
<a id="Cyborg" href="javascript:void(0)" class="btn btn-block">Cyborg</a>
</div>
<div class="col-md-6">
<a id="Lux" href="javascript:void(0)" class="btn btn-block">Lux</a>
</div>
OR
<div class="col-md-6">
<a id="Cyborg" href="#" class="btn btn-block">Cyborg</a>
</div>
<div class="col-md-6">
<a id="Lux" href="#" class="btn btn-block">Lux</a>
</div>
Но имейте в виду, что, имея '#'
как href
вернет вас к началу страницы при нажатии a
.
А также после https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a это плохая практика
Элементы привязки часто используются как поддельные кнопки, устанавливая для их href значение # или javascript: void (0), чтобы предотвратить обновление страницы, а затем прослушивать их события щелчка.
Эти фиктивные значения href вызывают неожиданное поведение при копировании / перетаскивание ссылок, открытие ссылок в новой вкладке / окне, создание закладок или когда JavaScript загружается, возникают ошибки или отключено. Они также передают неверную семантику вспомогательным технологиям, таким как программы чтения с экрана.
Используйте вместо. В общем, вы должны использовать только гиперссылку для перехода на реальный URL.
Запретить запуск действия браузера по умолчанию при нажатии
$('#Cyborg').click(function (e) {
e.preventDefault();
$('#theme').attr('href', 'css/bootstrapcyborg.css');
});
$('#Lux').click(function (e) {
e.preventDefault();
$('#theme').attr('href', 'css/bootstraplux.css');
});
Полностью удалить атрибут
href - тогда вам может потребоваться стилизовать теги
a
по-своему, потому что браузер удалит стиль привязки
Объяснение: Потому что #Cyborg
или #Lux
- это элементы привязки, их поведение браузера по умолчанию при нажатии на инициирует переход по своему URL-адресу , потому что у вас есть пустая строка внутри href
браузер просто перезагружает страницу. Затем браузер возвращается в состояние после первой загрузки, и вы не видите никакого эффекта.
Надеюсь, я правильно вас понял и это поможет