2017-09-03 4 views
0

ブックマークが3つあり、2つは同じページにあり、1つは別のページにあります。リンクをクリックすると同じ要素に移動し、滑らかになりませんでした。
私が使用しているフレームの動作は、materializecss、angularjs 1、およびui routerです
私はそのコードを書く方法を知りません。
すべてのブックマークが同じ要素にリダイレクトされています

myapp.controller('ctrl',ctrl); 
 
ctrl.$inject=['$scope', '$location', '$anchorScroll']; 
 
function ctrl($scope, $location, $anchorScroll) { 
 
    $scope.scrollTo = function(team) { 
 
     $location.hash('team'); 
 
     $anchorScroll(); 
 
    }; 
 
    
 
    $scope.scrollTo = function(contact) { 
 
     $location.hash('contact'); 
 
     $anchorScroll(); 
 
    }; 
 
};
<body ng-controller="ctrl"> 
 

 
<div class="container"> 
 
\t <div class="fixed-action-btn toolbar"> 
 
    <a class="btn-floating btn-large light-blue accent-2 pulse"> 
 
     <i class="large material-icons">menu</i> 
 
    </a> 
 
    <ul> 
 
     <li class="waves-effect waves-light"><a ui-sref="home">HOME</a></li> 
 
     <li class="waves-effect waves-light"><a ng-click="scrollTo(home/project)">PROJECTS</a></li> 
 
     <li class="waves-effect waves-light"><a ng-click="scrollTo(team)">TEAM</a></li> 
 
     <li class="waves-effect waves-light"><a ng-click="scrollTo(contact)">CONTACT</a></li> 
 
    </ul> 
 
    </div> 
 
</div>

すべてのヘルプは感謝です。
ありがとうございます。

+0

であるように、すべての1つだけの機能を使用することができますいけませんそれはあなたのために働く? – Gaurav

答えて

0

あなたがコントローラで複数のscrollTo機能を追加する必要があり、あなたがこの

myapp.controller('ctrl', ctrl); 
ctrl.$inject = ['$scope', '$location', '$anchorScroll']; 

function ctrl($scope, $location, $anchorScroll) { 
    $scope.scrollTo = function(state) { 
     $location.hash(state); 
     $anchorScroll(); 
    } 
}; 

とhtml、私はあなたに答えを提供している

<body ng-controller="ctrl"> 
    <div class="container"> 
    <div class="fixed-action-btn toolbar"> 
     <a class="btn-floating btn-large light-blue accent-2 pulse"> <i class="large material-icons">menu</i> </a> 
     <ul> 
     <li class="waves-effect waves-light"><a ui-sref="home">HOME</a></li> 
     <li class="waves-effect waves-light"><a ng-click="scrollTo('home/project')">PROJECTS</a></li> 
     <li class="waves-effect waves-light"><a ng-click="scrollTo('team')">TEAM</a></li> 
     <li class="waves-effect waves-light"><a ng-click="scrollTo('contact')">CONTACT</a></li> 
     </ul> 
    </div> 
    </div> 
</body> 
関連する問題