У меня есть кнопки, которые загружают вопросы и ответы (это FAQ). Когда нажимается кнопка, я использую window.location.hash
, чтобы установить ha sh в URL-адресе, чтобы получить URL-адрес, который люди могут скопировать, и поэтому позже я могу автоматически открыть кнопку с ее вопросами, например: website.nl/faq # category1
Проблема в том, что при нажатии кнопки и установке ha sh браузер мгновенно прокручивается до кнопки, чего я не хочу. Как его выключить?
Это мой код на данный момент:
if(window.location.hash) {
var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
$('#' + hash).addClass('activeblok');
} else {
}
const $blokje = $('.klantenblokje');
$blokje.on("click", function(e) {
e.preventDefault();
var id = $(this).attr('id');
$blokje.not(this).removeClass('activeblok');
$(this).addClass('activeblok');
window.location.hash = id;
// Ajax post which retrieves the questions
$.ajax({
type:'post',
url:"includes/faqresult.php",
data:{id: id},
success:function(data){
$( "#faqresult" ).show().empty().append( data );
}
});
});
И мой HTML:
<div class="col-md-2 col-6">
<a href="#bezorgen" id="bezorgen" class="klantenblokje">
<i class="icon-transport"></i>
<span>Bezorgen</span>
</a>
</div>
<div class="col-md-2 col-6">
<a href="#bestellen" id="bestellen" class="klantenblokje">
<i class="icon-cart"></i>
<span>Bestellen</span>
</a>
</div>
<div class="col-md-2 col-6">
<a href="#betalen" id="betalen" class="klantenblokje">
<i class="icon-euro"></i>
<span>Betalen</span>
</a>
</div>
<div class="col-md-2 col-6">
<a href="#uploaden" id="uploaden" class="klantenblokje">
<i class="icon-upload"></i>
<span>Bestanden uploaden</span>
</a>
</div>
<div class="col-md-2 col-6">
<a href="#garantie-reparatie" id="garantie-reparatie" class="klantenblokje">
<i class="icon-box"></i>
<span>Garantie en reparatie</span>
</a>
</div>
<div class="col-md-2 col-6">
<a href="#account" id="account" class="klantenblokje">
<i class="icon-user"></i>
<span>Account</span>
</a>
</div>
Я пробовал это с другого вопрос, но без результата:
if (location.hash) {
setTimeout(function() {
window.scrollTo(0, 0);
}, 1);
}