如何为 Bootstrap 的滚动间谍功能添加平滑滚动 [英] How to add smooth scrolling to Bootstrap's scroll spy function
本文介绍了如何为 Bootstrap 的滚动间谍功能添加平滑滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一段时间以来,我一直在尝试向我的网站添加平滑滚动功能,但似乎无法使其正常工作.
这是与我的导航相关的 HTML 代码:
<div id="nav" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="675"><div class="navbar-inner" data-spy="affix-top"><div class="容器"><!-- .btn-navbar 用作折叠导航栏内容的切换 --><a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><!-- 所有你想隐藏在 940px 或更小的地方,都放在这里 --><div class="nav-collapse collapse"><ul class="nav"><li><a href="#home">首页</a></li><li><a href="#service-top">服务</a></li><li><a href="#contact-arrow">联系方式</a></li></ul><!--/.nav--></div><!--/.nav-collapse 折叠 向右拉--></div><!--/.container--></div><!--/.navbar-inner--></div><!--/#nav/.navbar navbar-inverse--></div><!--/#nav-wrapper-->这是我添加的JS代码:
<script src="js/jquery.scrollTo-1.4.3.1-min.js"></script><脚本>$(document).ready(function(e) {$('#nav').scrollSpy()$('#nav ul li a').bind('click', function(e) {e.preventDefault();目标 = this.hash;控制台日志(目标);$.scrollTo(target, 1000);});});
对于它的价值,这里是我收到有关什么的信息的地方到目前为止,我已经完成了,这里是我的网站的当前形式.如果你能帮我,我会给你烤馅饼或饼干之类的.谢谢!
解决方案 你真的需要那个插件吗?您可以为 scrollTop
属性设置动画:
$("#nav ul li a[href^='#']").on('click', function(e) {//防止默认锚点点击行为e.preventDefault();//存储哈希var hash = this.hash;//动画$('html, body').animate({scrollTop: $(hash).offset().top}, 300, 函数(){//完成后,将哈希添加到 url//(默认点击行为)window.location.hash = 哈希;});});
I've been trying to add a smooth scrolling function to my site for a while now but can't seem to get it to work.
Here is my HTML code relating to my navigation:
<div id="nav-wrapper">
<div id="nav" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="675">
<div class="navbar-inner" data-spy="affix-top">
<div class="container">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<!-- Everything you want hidden at 940px or less, place within here -->
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="#home">Home</a></li>
<li><a href="#service-top">Services</a></li>
<li><a href="#contact-arrow">Contact</a></li>
</ul><!--/.nav-->
</div><!--/.nav-collapse collapse pull-right-->
</div><!--/.container-->
</div><!--/.navbar-inner-->
</div><!--/#nav /.navbar navbar-inverse-->
</div><!--/#nav-wrapper-->
Here is the JS code I've added:
<script src="js/jquery.scrollTo-1.4.3.1-min.js"></script>
<script>
$(document).ready(function(e) {
$('#nav').scrollSpy()
$('#nav ul li a').bind('click', function(e) {
e.preventDefault();
target = this.hash;
console.log(target);
$.scrollTo(target, 1000);
});
});
</script>
For what it's worth, here is where I received info on what I've done so far, and here is my site in it's current form. If you can help me I'll bake you a pie or cookies or something. Thanks!
解决方案 Do you really need that plugin? You can just animate the scrollTop
property:
$("#nav ul li a[href^='#']").on('click', function(e) {
// prevent default anchor click behavior
e.preventDefault();
// store hash
var hash = this.hash;
// animate
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 300, function(){
// when done, add hash to url
// (default click behaviour)
window.location.hash = hash;
});
});
这篇关于如何为 Bootstrap 的滚动间谍功能添加平滑滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文
相关文章
- 如何添加平滑滚动到Bootstrap的滚动间谍功能;
- 如何使用 Bootstrap 滚动间谍?;
- 平滑滚动的Bootstrap 3;
- 如何为平滑滚动设置Offsett;
- 平滑滚动/惯性滚动/气势滚动;
- 如何动画滚动位置?如何平滑滚动?;
- 平滑滚动 QTableWidget;
- 平滑滚动recyclerview;
- 减少平滑滚动速度滚动视图;
- 使用自动滚动进行平滑滚动;
- GridView 的平滑滚动;
- UITableView 的平滑滚动;
- 如何使RecyclerView平滑滚动?;
- 如何让 RecyclerView 平滑滚动?;
- 平滑滚动WPF DataGrid;
- jQuery平滑滚动偏移;
- 使用jQuery平滑滚动;
- GridView不能平滑滚动;
- 平滑滚动.NET形式;
- 平滑滚动角度2;
- 平滑滚动问题;
- JavaScript动画平滑滚动;
- 关闭firefox的平滑滚动?;
- Android 中的平滑滚动;
- CSS 中的平滑滚动;
前端开发最新文章
- 为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?;
- 错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接;
- 如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?;
- 如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?;
- 警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件;
- 如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?;
- 此请求已被阻止;内容必须通过HTTPS提供;
- 资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关);
- 通过HTTPS加载页面但请求不安全的XMLHttpRequest端点;
- 拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。;