$ anchorScroll指向一个链接但不访问它

时间:2017-07-18 13:39:45

标签: javascript html angularjs

我想在同一页面中重定向到我的DOM的一些元素。 我使用了以下代码, JS:

 $scope.scrollTo = function (id) {
        $location.hash(id);
        $anchorScroll();
    };

HTML:

<div>
    <div id="chartdiv15" class="chartdiv"></div>
    <div id="chartdata15" class="chartdata"></div>
</div>

和:

     <md-input-container>
        <label>Menu</label>
        <md-select ng-model="menu">
          .....
          <md-option ng-click="scrollTo('chartdiv15')">click</md-option>
        </md-select>
    </md-input-container>

因此,此过程使我能够指向链接(http://localhost:3000/#/graphics#chartdiv15enter image description here

它到达元素,并在一秒钟内重定向到页面顶部,好像我没有什么... 有人可以帮我解决这个问题吗? 谢谢:))

1 个答案:

答案 0 :(得分:0)

您是否尝试过不使用$ location.hash(id);但只有$ anchorScroll(id);

根据$anchorscroll的文件:

  

调用时,根据HTML5规范中指定的规则,它会滚动到与指定哈希相关的元素或(如果省略)到$ location.hash()的当前值。

在我的项目中,我只使用$ anchorScroll(id),它工作得很好但当然URL没有更新。

如果您希望更新URL,也许您应该使用:

    $location.hash(id);
    $anchorScroll();   // <- no id here

很抱歉没有直接回答您的问题,但我不认为我们可以帮助您提供所提供的数据,如果您添加一个复制问题的plunker,建议会更容易。