2015-05-15 5 views
1

Одним нажатием кнопки я хочу, чтобы страница прокручивала конкретный div bottom.

1-й раз я нажимаю, страница будет самый верх и первоначальный URL http://localhost:8000 становится http://localhost:8000/#/bottom (почему он не собирается в div я упомянутой).

2-й раз, когда я нажмите кнопку, URL-адрес становится http://localhost:8000/#/bottom#bottom, и он идет к DIV bottom (, который является то, что я хочу).

Как я могу справиться с этим?

фрагмент кода

$location.hash('bottom'); 
$anchorScroll(); 

Заранее спасибо

ли попросить более подробного объяснения, если это необходимо. , ,

+0

Возможно, вы используете [ui-router] (https://github.com/angular-ui/ui-router) и перепечатываете страницу при изменении хэша? –

+0

нет, я не пользуюсь ui-router – dreamer

ответ

-3
<a href="#bottom">BOTTOM</a> 
<div style="height:700px"> this is boby </div> 
<a href="https://www.facebook.com/vietlink365" id="bottom">JOIN NOW!</a> 
+1

действительно держите какое-то объяснение по крайней мере – dreamer

0

Я не знаю, если вы все еще нужна помощь, но вы проверили this вопрос?

Во всяком случае, я также использовать одну кнопку, чтобы сделать якорный пролистайте:

<button ng-click="app.gotoAnchor('destination')">GO!</button> 
(...) 
<div id="destination" style="height:1px;"></div> 

И я просто использовал комбинацию AngularJS документации examples и вопрос, так что я упоминал ранее, чтобы сделать эту функцию:

function gotoAnchor(anchor){ 
     if ($location.hash() !== newHash) { 
     // set the $location.hash to `newHash` and 
     // $anchorScroll will automatically scroll to it 
     $timeout(function() { 
      $location.hash(anchor); 
     }); 
     } else { 
     // call $anchorScroll() explicitly, 
     // since $location.hash hasn't changed 
     $anchorScroll(); 
     } 
    } 

Будучи $timeout, позвоните в тот, который сделал эту работу лучше.

Надеюсь, это поможет.

Смежные вопросы