#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь создать функцию, в которой вверху будет несколько ссылок, а содержимое будет загружено по умолчанию с заголовками на той же странице. Ссылки и заголовок будут связаны, поэтому нажатие на ссылки перенаправит на этот конкретный раздел с эффектом (аналогично одностраничному приложению). Пример:
Vision Mission Address Contact
Vision
Content here
Mission
Content here
Address
Content here
Contact
Content here
Я не уверен, как я могу это сделать, но создал образец, который на самом деле не похож, можно сказать, пробный. Это не то, что я хочу:
$(document).ready(function()
{
$(".subcontent").hide();
$('#myMenu').on('click','a',function()
{
$('.subcontent:visible').hide();
$('.subcontent[id=' $(this).attr('data-id') ']').fadeIn();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<ul id="myMenu">
<li><a href="#" data-id="Vision">Vision</a></li>
<li><a href="#" data-id="Mission">Mission</a></li>
</ul>
<section class="subcontent" id="Vision" style="display:block" >
<div class="page-heading">
<h1 class="caption">Vision</h1>
</div>
</section>
<section class="subcontent" id="Mission" >
<div class="page-heading">
<h1 class="caption">Mission</h1>
</div>
</section>
Комментарии:
1. Вы говорите об якорях? Проверьте это, его
Contents
окно работает сanchors
Ответ №1:
Надеюсь, приведенный ниже фрагмент поможет вам
$(document).ready(function () {
$('.top').click(function() {
$('html, body').animate({
scrollTop: $(".top-section").offset().top
}, 1000)
}),
$('.middle').click(function (){
$('html, body').animate({
scrollTop: $(".middle-section").offset().top
}, 1000)
}),
$('.bottom').click(function (){
$('html, body').animate({
scrollTop: $(".bottom-section").offset().top
}, 1000)
})
$('.top-section').click(function (){
$('html, body').animate({
scrollTop: 0
}, 1000)
})
$('.middle-section').click(function (){
$('html, body').animate({
scrollTop: 0
}, 1000)
})
$('.bottom-section').click(function (){
$('html, body').animate({
scrollTop: 0
}, 1000)
})
});
body,
html {
width: 100%;
height: 100%;
margin: 0;
display: inline;
}
.top-section {
background-color: green;
height: 100%;
width: 100%;
display: flex;
}
.middle-section {
background-color: yellow;
height: 100%;
width: 100%;
display: flex;
}
.bottom-section {
background-color: red;
height: 100%;
width: 100%;
display: flex;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div>
<h4>Click on Top,Middle.Bottom will take to the section,Click on Click on section will take to the Top</h4>
<h5 class="top">Top</h5>
<h5 class="middle">Middle</h5>
<h5 class="bottom">Bottom</h5>
</div>
<div class="top-section">
<h1>Top Section</h1>
</div>
<div class="middle-section">
<h1>Middle Section</h1>
</div>
<div class="bottom-section">
<h1>Bottom Section</h1>
</div>