Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Angularjs-通过在地址栏中手动输入url导航到特定div_Html_Angularjs - Fatal编程技术网

Html Angularjs-通过在地址栏中手动输入url导航到特定div

Html Angularjs-通过在地址栏中手动输入url导航到特定div,html,angularjs,Html,Angularjs,假设我在索引页上有两个div: <div id="divA"></div> <div id="divB"></div> 我曾经遇到过通过锚定标签来实现这一点的方法,但我的任务是找出当用户在地址栏中输入特定url时实现这一点的方法。如果有人能解释一个可能的解决方案,我将非常感谢您的洞察力。我假设您使用AngularJS的路由作为页面 一个好方法是,一旦调用页面控制器来触发基于当前位置的操作,就触发一个操作。您可以使用$anchorScroll do

假设我在索引页上有两个div:

<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();
    }]);