Html Angularjs-通过在地址栏中手动输入url导航到特定div
假设我在索引页上有两个div:Html Angularjs-通过在地址栏中手动输入url导航到特定div,html,angularjs,Html,Angularjs,假设我在索引页上有两个div: <div id="divA"></div> <div id="divB"></div> 我曾经遇到过通过锚定标签来实现这一点的方法,但我的任务是找出当用户在地址栏中输入特定url时实现这一点的方法。如果有人能解释一个可能的解决方案,我将非常感谢您的洞察力。我假设您使用AngularJS的路由作为页面 一个好方法是,一旦调用页面控制器来触发基于当前位置的操作,就触发一个操作。您可以使用$anchorScroll do
<div id="divA"></div>
<div id="divB"></div>
我曾经遇到过通过锚定标签来实现这一点的方法,但我的任务是找出当用户在地址栏中输入特定url时实现这一点的方法。如果有人能解释一个可能的解决方案,我将非常感谢您的洞察力。我假设您使用AngularJS的路由作为页面 一个好方法是,一旦调用页面控制器来触发基于当前位置的操作,就触发一个操作。您可以使用$anchorScroll doc 找到所处位置后,如果检测到使用ng click,只需调用以下函数:
<div id="scrollArea" ng-controller="ScrollController">
<a id="middle"></a> You are in /divA
<a id="bottom"></a> You are in /divB
</div>
你需要任何动画来滚动到div位置吗?不,只是快速和肮脏。你看了这个答案了吗:我刚才扫描了它,它似乎没有提供一个解决方案,手动将地址输入地址栏以导航到特定div。使用当前位置
<div id="scrollArea" ng-controller="ScrollController">
<a id="middle"></a> You are in /divA
<a id="bottom"></a> You are in /divB
</div>
app.controller('ScrollController', ['$scope', '$location', '$anchorScroll',
function ($scope, $location, $anchorScroll) {
if($location.path() == "/divA"){
$location.hash('middle');
}
else if($location.path() == "/divB"){
$location.hash('bottom');
}
// call $anchorScroll()
$anchorScroll();
}]);