gpt4 book ai didi

javascript - 每当我尝试导航到一个链接时,整个页面都会移动,而不是滚动 div 中的 Material

转载 作者:行者123 更新时间:2023-11-28 03:37:19 25 4
gpt4 key购买 nike

我的目标是拥有一个包含我的主要内容的滚动 Div。该内容的顶部是我的目录,它链接到滚动 Div 中的其他 Material 。我找到了一些自动化 ToC 的代码,但是我终生无法弄清楚如何在我尝试导航时只让滚动的 Div 移动。最终,我打算让 ToC 导航到常见问题解答问题并添加一个稍后出现的按钮,以将用户带回顶部。

是否有某种技术或教程可以让我做我想做的事?

$(document).ready(function() {
$("#toc").append('<br>')
$("h3").each(function(i) {
var current = $(this);
current.attr("id", "title" + i);

$("#toc").append("<p><a id='link" + i + "' href='#title" + i + "' title='" + current.attr("tagName") + "'>" + current.html() + "</a></p>");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="contentarea">
<div class="title" id="newstitle">
<h1>Frequently Asked Questions</h1>
</div>
<div id="toc"></div>
<div class="article" id="content">
<h3>How does sponsorship work at this event?</h3>
<p>Sponsorship is available to businesses who wish to contribute to the success of the event. If you or your business wish to become a sponsor for HonorCon 2017, please contact the convention chair committee at <a target="_blank" href="mailto:conchair2@gmail.com">conchair2@gmail.com</a>.
Our sponsors receive the most benefit from their donations, as only sponsors are advertised on our website as compared to the space for sale in our program. There are 3 levels of sponsorship available:</p>
<br>
<br>
<h3>What are the convention space rules?/Do you have a harrassment policy?</h3>
<p>The staff of HonorCon wishes to ensure a safe and comfortable environment for all attendees. We encourage you to come to have a good time and to be whomever you wish to be. We believe that conventions should be safe spaces to enjoy and explore science
fiction, cosplay, and gaming. If at any time you feel that your safety or the safety of others is in jeopardy, please contact Convention Security immediately (Shore Patrol), who will then contact the Police and Hotel Security as required. To that
end, however, certain forms of behavior have been deemed inappropriate by the convention committee.</p>
<br>
<br>
<h3>Who are those guys in the yellow berets and brassards?</h3>
<p>Both HonorCon and MantiCon are put on by the Royal Manticoran Navy: the Official Honor Harrington Association. Because the setting in the Honor Harrington series is primarily based on a futuristic space navy, it stands to reason that our convention's
security and all-around help-force would be called "Shore Patrol" in honor of the naval military police's peace-keeping function when ships come into port. HonorCon's Shore Patrol performs security functions for the convention in cooperation with
the venue's management and should be the go-to people should you have any concerns or feel in need of help of any kind.If at ay time you feel that your safety or the safety of others is in jeopardy, please contact Shore Patrol emmediately.</p>
<br>
<br>
<h3>Where is the event?</h3>
<div>
<p>HonorCon 2017 will be held in the luxurious Hilton North Raleigh/Midtown. The address is:</p>
<br>
<p>3415 Wake Forest Road</p>
<p>Raleigh, North Carolina 27609-7330</p>
<p>USA</p>
<p>Telephone: 1(919)872-2323</p>
<p>Fax: 1(919)876-0890</p>
</div>
<br>
<br>
<h3>My question isn't here, who do I contact for an answer?</h3>
<p>If we've overlooked something that you are dying to know or an explanation is unclear, you have three possible courses of action. The first is to go to the "<a target="_self" href="contact.html">Contact Us!</a>" page of this website and click on the
picture of the person whose department best fits the category of your question. This will help set up and address an e-mail to the person most likely to be able to answer your question on the staff. If you are unable to find an appropriate representative
who seems like they can meet your needs send an e-mail to <a target="_blank" href="mailto:conchair2@gmail.com">conchair2@gmail.com</a>. And finally, if time is of the essence, feel free to message us on Facebook using Facebook messenger. Click
<a
target="_self" href="https://www.facebook.com/HonorCon/">here</a> to go to our Facebook page!</p>
</div>

感谢您的宝贵时间!

最佳答案

我相信你的意思是当用户点击链接时,页面应该滚动而不是跳转到相关段落。

解决方法如下:

// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function(event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top
}, 1000, function() {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex','-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});

引用文章:https://css-tricks.com/snippets/jquery/smooth-scrolling/

关于javascript - 每当我尝试导航到一个链接时,整个页面都会移动,而不是滚动 div 中的 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44401625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com