gpt4 book ai didi

javascript - 如何使用 anchor 链接在不滚动主页的情况下在 div 内滚动

转载 作者:行者123 更新时间:2023-11-27 23:36:49 27 4
gpt4 key购买 nike

我正在尝试使用链接滚动 div 中的内容。HTML 在这里:

<header>
<div class="wrapper">
<a href="#" class="logo"><img src="/img/header.jpg" alt="Ace Land Surveying"></a>
</div>
<nav>
<div class="wrapper">
<ul>
<li><a href="">Home</a></li>
<li><a href="">About Us</a></li>
<li><a href="">Types of Surveys</a></li>
<li><a href="">About Us</a></li>
<li><a href="">Links</a></li>
<li><a href="">Request a Survey</a></li>
<li><a href="">Past Projects</a></li>
<li><a href="">Contact</a></li>
<li><a href="" class="last">SOQ</a></li>
</ul>
</div>
</nav>
</header>
<div class="wrapper">
<div class="content">
<div class="column left">
<ul class="survey-type-list">
<li><h2><a href="#type1">CLICK HERE</a></h2></li>
<li><h2><a href="#type2">CLICK HERE</a></h2></li>
<li><h2><a href="#type3">CLICK HERE</a></h2></li>
</ul>
</div>
<div class="column right" id="survey-column">
<div class="survey-type" id="type1">
<p> ... long text ... </p>
</div>
<div class="survey-type" id="type2">
<p> ... long text ... </p>
</div>
<div class="survey-type" id="type3">
<p> ... long text ... </p>
</div>
</div>
</div>
</div>
<footer>
<div class="footer-top">
<div class="wrapper"></div>
</div>
</footer>

和CSS:

header {
float: left;
width: 100%;
height: 200px;
}

.wrapper {
width: 90%;
margin: auto;
}

.content {
float: left;
width: 100%;
padding: 20px;
background: #02274b;
}

.column {
min-height: 500px;
padding: 20px;
border-radius: 20px;
color: #fff;
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.3), transparent);
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), transparent);
}

.column.left {
float: left;
width: 20%;
}

.column.right {
float: right;
width: 60%;
}

.survey-type-list li {
margin: 0 0 4px 0;
list-style: none;
}

.survey-type-list h2 {
font-size: 13px;
}

#survey-column {
overflow: hidden;
height: 460px;
}

.survey-type {
float: left;
width: 100%;
height: 460px;
}

问题是整个页面随着 div 中的内容移动。

这是一个 fiddle :

http://jsfiddle.net/q8a1s5wj/8/

我在这里尝试了其他几个线程,但没有一个能解决我的问题。

如何防止整个页面滚动,而只在带有 anchor 链接的右栏内滚动?

我希望能够单击左栏中的链接并看到右栏滚动而不是移动整个页面。

最佳答案

Fiddle

对 CSS 进行了一些小的调整——不这样做会导致错误的元素偏移:

#survey-column {
position: relative;
}

这个只是为了让最后一个 div 可以完全滚动到顶部:

.survey-type {
height: 520px;
}

还有一些让它工作的脚本:

$(function() {

$('.column.left a').click(function() {

var goal = $(this.hash).position().top-20,
aim = goal+$('#survey-column').scrollTop();

$('#survey-column').scrollTop(aim);

return false;
});
});

goal 的 20 像素扣除只是为了保持与开始时相同的顶部填充......

关于javascript - 如何使用 anchor 链接在不滚动主页的情况下在 div 内滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535692/

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