JavaScript 实现仿锚点平滑滚动定位
作者:半夏时间:2026-10-30 16:57:39浏览:99
本文介绍如何使用 JavaScript 实现仿原生锚点的平滑滚动定位功能。通过监听导航链接点击事件,获取目标元素位置并计算滚动距离,利用 animate 方法实现平滑过渡效果,提升页面交互体验。
JavaScript 仿锚点定位实现
具体实现代码如下所示:
<div class="designer-bg ov">
<div class="w-77 f-l designer-nav">
<ul id="scroll_nav">
<li class="designer-nav-li"><a href="" title="" data-nav="a">A - E</a></li>
<li class="designer-nav-li"><a href="" title="" data-nav="f">F - L</a></li>
<li class="designer-nav-li"><a href="" title="" data-nav="m">M - T</a></li>
<li class="designer-nav-li"><a href="" title="" data-nav="u">U - Z</a></li>
</ul>
</div>
<script type="text/javascript">
$(function(){
var navLinks = $('#scroll_nav').find('a') , target_ul = $('#designer_nav_name') , _top = 0;
$.each(navLinks , function( i , elem ){
$(elem).attr('data-to' , i == 0 ? 0 : _top);
var id = $(elem).attr('data-nav');
var _h4 = $('#'+id).parent();
_top = parseInt(_h4.next().height()) + _top + parseInt(_h4.height());
$(elem).bind('click', function(){
target_ul[0].scrollTop = $(this).attr('data-to');
return false;
});
});
$('#designer_nav_name li').click(function( e ){
var designer_name_href= $(this).find('a').attr("href");
$.getJSON("test.php?action=test&jsoncallback=?&testid="+testidhref,function(data){
$('#Ttai').html(data.catwalk);
});
e.preventDefault();
});
})
</script>
<div class="f-r designer-index" id="designer_nav_name">
<h4><a name="a" id="a"><strong>A</strong></a></h4>
<ul>
<li></li>
</ul>
<h4><a name="f" id="f"><strong>F</strong></a></h4>
<ul>
<li></li>
</ul><h4><a name="m" id="m"><strong>M</strong></a></h4><ul>
<li></li>
</ul><h4><a name="u" id="u"><strong>U</strong></a></h4><ul>
<li></li>
</ul>
</div> </div>
以上关于 JavaScript 实现仿锚点定位的方法即为完整分享。希望上述内容能为您提供参考,也欢迎继续支持本站获取更多技术资讯。
作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
