2017-07-18 14 views
1

私は同じページ内の私の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

$ location.hash(id)を使用しないでください。 $ anchorScroll(id)のみです。

$anchorscrollのドキュメントによれば:と呼ばれる場合

、それは、$ location.hash()の現在値に、指定されたハッシュまたは(省略された場合)に関連する要素にスクロールに従ってHTML5仕様で指定されたルール

私のプロジェクトでは、$ anchorScroll(id)のみを使用していますが、うまくいきますが、もちろんURLは更新されません。

あなたにも更新されたURLは、多分あなたが使用する必要がある場合:直接あなたの質問に答えていないため

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

申し訳ありませんが、私は、あなたが追加した場合、我々は、提供データだけであなたを助けることができるとは思いませんこの問題を再現したプランナーは、助言するのがより簡単になります。

+0

私は$ anchorScrollでIDを持っていなかった質問を編集しましたが、私はまだ同じ問題があります – Nourp

+0

テスト目的のために、ちょうど$ anchorScroll(id)を使用し、$ location.hash(id )、あなたは期待された動作をしていますか(URL更新を除く)? – Tonio

+0

何も起こらない – Nourp

関連する問題