- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是js新手。
我需要根据 <a>
滚动页面我的大学项目中的 tag href 属性。
ScrollTop 功能不起作用,因为我的项目是单页应用程序。我可以使用 window.scrollTo(x-coord, y-coord); 的功能来实现这一点。
但现在的问题是我想在我的页面中制作平滑的滚动效果。
如何在scrollTo(x,y)函数中实现它???
提前致谢。 :)
最佳答案
在 2018 年,您现在可以使用新的 API 本地实现平滑滚动(即在普通 JavaScript 中):
Element.scrollTo({ScrollingOptionsObject})
Element.scrollBy({ScrollingOptionsObject})
Element.scrollIntoView({ScrollingOptionsObject})
浏览器支持:
<小时/>Vanilla Javascript 平滑滚动的工作示例:
var pageLinks = [... document.querySelectorAll('li button')];
function scrollToSection(e) {
var targetSection = document.getElementById(e.target.dataset.targetSection);
targetSection.scrollIntoView({behavior: 'smooth'});
}
for (let i = 0; i < pageLinks.length; i++) {
pageLinks[i].addEventListener('click', scrollToSection, false);
}
ul {
margin-bottom: 480px;
}
button {
color: rgb(0,0, 239);
text-decoration: underline;
background: none;
border: none;
cursor: pointer;
}
section {
display: block;
width: 50%;
height: 300px;
margin: 12px 0 96px;
padding: 6px;
border: 1px solid rgb(127, 127, 127);
}
<ul>
<li><button type="button" data-target-section="section-1">Go to Section 1</button></li>
<li><button type="button" data-target-section="section-2">Go to Section 2</button></li>
<li><button type="button" data-target-section="section-3">Go to Section 3</button></li>
<li><button type="button" data-target-section="section-4">Go to Section 4</button></li>
<li><button type="button" data-target-section="section-5">Go to Section 5</button></li>
</ul>
<section id="section-1" class="section-1">
<h2>This is Section 1</h2>
</section>
<section id="section-2" class="section-2">
<h2>This is Section 2</h2>
</section>
<section id="section-3" class="section-3">
<h2>This is Section 3</h2>
</section>
<section id="section-4" class="section-4">
<h2>This is Section 4</h2>
</section>
<section id="section-5" class="section-5">
<h2>This is Section 5</h2>
</section>
如果您喜欢...这里有一些真正令人兴奋的东西:
浏览器对CSS值scroll-behaviour
的支持稍微落后于浏览器对上面 javascript API 的支持 - 但在实现它的地方它可以做一些令人惊奇的,如下所示:
body {scroll-behavior: smooth;}
<小时/>
浏览器支持:
<小时/>CSS 平滑滚动的工作示例:
:root {
scroll-behavior: smooth;
}
ul {
margin-bottom: 480px;
}
section {
display: block;
width: 50%;
height: 300px;
margin: 12px 0 96px;
padding: 6px;
border: 1px solid rgb(127, 127, 127);
}
<ul>
<li><a href="#section-1">Go to Section 1</a></li>
<li><a href="#section-2">Go to Section 2</a></li>
<li><a href="#section-3">Go to Section 3</a></li>
<li><a href="#section-4">Go to Section 4</a></li>
<li><a href="#section-5">Go to Section 5</a></li>
</ul>
<section id="section-1" class="section-1">
<h2>This is Section 1</h2>
</section>
<section id="section-2" class="section-2">
<h2>This is Section 2</h2>
</section>
<section id="section-3" class="section-3">
<h2>This is Section 3</h2>
</section>
<section id="section-4" class="section-4">
<h2>This is Section 4</h2>
</section>
<section id="section-5" class="section-5">
<h2>This is Section 5</h2>
</section>
关于javascript - 如何在 window.scrollTo(x-coord, y-coord); 中控制滚动速度;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42344395/
我在 iPad 的 Objective-c 项目中有一个带有 UIWebView 的 ViewController。 当我添加 html(使用 loadHtmlString)时,我尝试保持它在 loa
好吧,我看不到了。我正在使用the scrollTo plugin并在我的网站中有一个scrollTo 函数。它有效,但现在突然不起作用...... 这是我的代码: $(document).ready
我真的需要帮助解决这个问题,我对 JS 的了解不是很好。所以,基本上我想在单击链接时滚动到该部分,但不是通过 (href="#target"),我想使用属性来完成此操作。另外,如果可能的话,我也想添加
无法对 Jquery ScrollTo 应用缓动方法: $("#scroller").scrollTo(target,1000,{axis:'x',easing:'linear'}); 这并不能缓解任
我尝试实现scrollTo函数,但问题是当我滚动时我希望滚动到的元素位于屏幕顶部而不是中间或其他地方。 JsFiddle 这是js函数 $(document).ready(function () {
这个想法是点击一个链接进入另一个页面(index.html),一旦你到达那里,立即进入一个 anchor div。我尝试通过触发事件来做到这一点,但没有成功。 scrollTo 在index.html
我正在开发一个网格,至少可以说,它的界面非常动态。 我想做的是关注 $this 元素,无论它在哪里,无论它是在点击时移动到页面顶部还是返回到网格中的原始位置。 发生的情况是,当单击一个元素时.....
我有一系列关于我刚刚完成开发的应用程序的部分。我正在使用 jQuery 的scrollTo 插件。过去它对我来说一直很有效。 应用程序应该执行以下操作: 加载所有部分,第一个部分立即展开,其他所有部分
这看起来很简单,但我似乎无法弄清楚。我想更改使用 JQuery 的 ScrollTo 插件滚动到的元素的背景颜色。我正在使用 onAfter 设置。这就是我所拥有的: $("#nav-inpage")
我不太清楚scrollTo()插件函数。 我想做的是水平移动到特定目标(就像一个场景到另一个场景)。这是我的一些代码: > NatureVille 它根本不起作用。有人可以尽快简化或解释这个
我正在尝试找出一种使用 scrollTo() 的方法单击链接后在新页面上运行。不幸的是,使用 window.onload在我的情况下不起作用,因为我只想在从特定链接打开页面时滚动。 我正在尝试让主页链
我有一个问题,我想在页面渲染后通过调用 window.scrollTo() 将页面滚动到特定元素。但不起作用。有什么限制吗? var step = Math.round(distance / 25);
我想使用 scrollTo,但是当单击导航栏上的链接时,它会滚动到右侧的 div,但只是稍微远一点。我认为它与顶部的固定导航栏有关。我该如何抵消它? $(document).ready(func
我有一个 ul 列表,我正在尝试使用最新版本的 JQuery ScrollTo (v. 1.4.11) 使其向下滚动到其中 li 的高度(以创建垂直 slider )。 它正在上下滚动,几乎按预期工作
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 2 年前。 Improve this ques
我使用 scrollto 和 scrollspy 建立了一个单页网站。一旦导航栏固定在顶部,该页面就可以很好地工作。但是,如果您在导航栏固定到顶部之前单击任何链接,所有链接都会关闭。而且他们离开的高度
如何在多个 div 上使用 jquery-scrollTo。假设我有以下 div Home (current) Grid System Tooltips Tables
我为 WordPress 网站创建的导航栏出现问题。有些链接旨在向下滚动到主页上的不同位置,有些链接是指向网站其他位置的外部链接。像这样的事情: Link 1
我是一名销售人员开发人员,我想通过上下滑动来上下滚动,这很容易,我用它完成了它,它在所有浏览器和所有设备浏览器(如(iPhone/Pad/Andy))上都能完美运行,但在浏览器中,我们有当我在 sal
我设置了这个简单的联系表单,由于此时我没有开发时间,所以我使用 jQuery 验证而不是 AJAX 来设置它。这很好用。 但现在我想在表单出现错误时让页面向下滚动。我已经下载了 jquery.scro
我是一名优秀的程序员,十分优秀!