Javascript 角度1-$anchorScroll,无需更改URL
我的html中有以下元素:Javascript 角度1-$anchorScroll,无需更改URL,javascript,angularjs,scroll,Javascript,Angularjs,Scroll,我的html中有以下元素: <button class="btn" type="button" ng-click="$ctrl.scrollTo()"> </button> <div id="result"> </div> 这很好,但我希望解决方案不会更改URL(不要在URL中添加#结果),如果可能,还可以添加平滑滚动 您的解决方案与我的解决方案很接近吗?$anchorScroll,因为它的名字是滚
<button class="btn"
type="button"
ng-click="$ctrl.scrollTo()">
</button>
<div id="result">
</div>
这很好,但我希望解决方案不会更改URL(不要在URL中添加#结果),如果可能,还可以添加平滑滚动
您的解决方案与我的解决方案很接近吗?$anchorScroll,因为它的名字是滚动到页面上的
anchor
或id
,据我所知,它将始终更改URL。但是对于这个问题有很多不同的解决方案
例如,您可以使用本机scrollIntoView(检查兼容性,但它适用于所有体面的浏览器,甚至IE8):
因此,您可以执行以下操作以获得平滑滚动效果:
// play around with options if you want - you can put block: "start" which doesn't play very nice with jsfiddle but should work fine on any machine.
$window.document.getElementById(id).scrollIntoView({behavior: "smooth", block: "end"});
我为您准备了一个快速示例:
$anchorScroll,正如它的名字所说,滚动到页面上的
anchor
或id
,据我所知,它将始终更改URL。但是对于这个问题有很多不同的解决方案
例如,您可以使用本机scrollIntoView(检查兼容性,但它适用于所有体面的浏览器,甚至IE8):
因此,您可以执行以下操作以获得平滑滚动效果:
// play around with options if you want - you can put block: "start" which doesn't play very nice with jsfiddle but should work fine on any machine.
$window.document.getElementById(id).scrollIntoView({behavior: "smooth", block: "end"});
我为您准备了一个快速示例: