У меня есть несколько ссылок, которые идут на одну и ту же страницу, однако я хочу показать разные разделы этой страницы (желательно в верхней части страницы). Проблема в том, что эти разделы скрыты при загрузке страницы, а также в контейнере, в котором они находятся. Я решил, как отобразить контейнер, но он показывает все разные разделы, когда мне нужен только тот, на который я нажал, из ссылку, чтобы показать. то есть:Как показать определенный раздел из скрытой ссылки
У меня есть эти ссылки:
<a href="serviceCheck1#service1">Service 1</a>
<a href="serviceCheck1#service2">Service 2</a>
<a href="serviceCheck1#service3">Service 3</a>
Тогда на serviceCheck1
странице у меня есть этот HTML:
<div id="service-display-box">
<div id="service-display-box-container">
<div class="service-item-box" id="service1">
<div class="service-item-title">Service 1</div>
</div>
<div class="service-item-box" id="service2">
<div class="service-item-title">Service 2</div>
</div>
<div class="service-item-box" id="service3">
<div class="service-item-title">Service 3</div>
</div>
<div class="service-item-box" id="service4">
<div class="service-item-title">Service 4</div>
</div>
<div class="service-item-box" id="service5">
<div class="service-item-title">Service 5</div>
</div>
<div class="service-item-box" id="service6">
<div class="service-item-title">Service 6</div>
</div>
</div>
</div>
Если бы я нажать на ссылку, которая говорит, Услугой 2, я бы хотите показать service-display-box
, а затем показать #service2
div, а затем все его братья и сестры не показывать.
Вот мой JavaScript:
$(function(){
//get the section name from hash
var sectionName = window.location.hash.slice(1);
//then show the section
$('#service-display-box').show();
//$('#' + sectionName).show();
$('#service' + sectionName).show().siblings().hide();
})
/*var index = location.hash.indexOf('#service');
if(index > -1) {
var serviceId = parseInt(location.hash.substring(index));
if(serviceId) {
$('#service-display-box').show();
$('#service' + serviceId).show().siblings().hide();
}
}*/
Ваша переменная 'sectionName' будет иметь' 'section1" 'в ней после первой строки кода. Таким образом, последняя строка выйдет как '$ ('# sectionection1') ...' которая, похоже, не то, что вы хотите. –
@MikeMcCaughan Итак, вы говорите, чтобы изменить мои ссылки, чтобы показать только «# 1» или вынуть «# service» из '$ ('# service' + sectionName) .show(). Siblings(). Hide(); '? – Becky
Я попытался сделать это и не получил никаких разных результатов. Я попробовал '$ (sectionName) .show(). Siblings(). Hide();' – Becky